Marino Faggiana 6 tahun lalu
induk
melakukan
63e5b49e1a
2 mengubah file dengan 20 tambahan dan 17 penghapusan
  1. 18 12
      iOSClient/Actions/CCActions.swift
  2. 2 5
      iOSClient/Main/CCDetail.m

+ 18 - 12
iOSClient/Actions/CCActions.swift

@@ -82,24 +82,28 @@ class CCActions: NSObject {
             return
             return
         }
         }
         
         
-        let metadataNet: CCMetadataNet = CCMetadataNet.init(account: appDelegate.activeAccount)
-
+        let isDirectory = metadata.directory
+        let directoryID = metadata.directoryID
+        let fileID = metadata.fileID
+        let fileName = metadata.fileName
+        let fileNameView = metadata.fileNameView
+        
         // fix CCActions.swift line 88 2.17.2 (00005)
         // fix CCActions.swift line 88 2.17.2 (00005)
         if (serverUrl == "") {
         if (serverUrl == "") {
             appDelegate.messageNotification("_delete_", description: "_file_not_found_reload_", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: Int(k_CCErrorInternalError))
             appDelegate.messageNotification("_delete_", description: "_file_not_found_reload_", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: Int(k_CCErrorInternalError))
             return
             return
         }
         }
         
         
-        guard let tableDirectory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.activeAccount, serverUrl)) else {
-            return
-        }
-        
         DispatchQueue.global().async {
         DispatchQueue.global().async {
         
         
             // E2EE LOCK
             // E2EE LOCK
-            let tableE2eEncryption = NCManageDatabase.sharedInstance.getE2eEncryption(predicate: NSPredicate(format: "account == %@ AND fileNameIdentifier == %@", self.appDelegate.activeAccount, metadata.fileName))
+            let tableE2eEncryption = NCManageDatabase.sharedInstance.getE2eEncryption(predicate: NSPredicate(format: "account == %@ AND fileNameIdentifier == %@", self.appDelegate.activeAccount, fileName))
             if tableE2eEncryption != nil {
             if tableE2eEncryption != nil {
                 
                 
+                guard let tableDirectory = NCManageDatabase.sharedInstance.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", self.appDelegate.activeAccount, serverUrl)) else {
+                    return
+                }
+                
                 let error = NCNetworkingEndToEnd.sharedManager().lockFolderEncrypted(self.appDelegate.activeUser, userID: self.appDelegate.activeUserID, password: self.appDelegate.activePassword, url: self.appDelegate.activeUrl, serverUrl:serverUrl, fileID: tableDirectory.fileID)
                 let error = NCNetworkingEndToEnd.sharedManager().lockFolderEncrypted(self.appDelegate.activeUser, userID: self.appDelegate.activeUserID, password: self.appDelegate.activePassword, url: self.appDelegate.activeUrl, serverUrl:serverUrl, fileID: tableDirectory.fileID)
                 if error != nil {
                 if error != nil {
                     DispatchQueue.main.async {
                     DispatchQueue.main.async {
@@ -109,13 +113,15 @@ class CCActions: NSObject {
                 }
                 }
             }
             }
         
         
+            let metadataNet: CCMetadataNet = CCMetadataNet.init(account: self.appDelegate.activeAccount)
+
             metadataNet.action = actionDeleteFileDirectory
             metadataNet.action = actionDeleteFileDirectory
             metadataNet.delegate = delegate
             metadataNet.delegate = delegate
-            metadataNet.directory = metadata.directory
-            metadataNet.directoryID = metadata.directoryID
-            metadataNet.fileID = metadata.fileID
-            metadataNet.fileName = metadata.fileName
-            metadataNet.fileNameView = metadata.fileNameView
+            metadataNet.directory = isDirectory
+            metadataNet.directoryID = directoryID
+            metadataNet.fileID = fileID
+            metadataNet.fileName = fileName
+            metadataNet.fileNameView = fileNameView
             metadataNet.selector = selectorDelete
             metadataNet.selector = selectorDelete
             metadataNet.serverUrl = serverUrl
             metadataNet.serverUrl = serverUrl
         
         

+ 2 - 5
iOSClient/Main/CCDetail.m

@@ -903,8 +903,7 @@
         
         
                 tableMetadata *metadata = [self.dataSourceImagesVideos objectAtIndex:index];
                 tableMetadata *metadata = [self.dataSourceImagesVideos objectAtIndex:index];
         
         
-                // ricerca index
-                if ([metadata.fileID isEqualToString:metadataNet.fileID]) {
+                if ([metadata isInvalidated] || [metadata.fileID isEqualToString:metadataNet.fileID]) {
             
             
                     [self.dataSourceImagesVideos removeObjectAtIndex:index];
                     [self.dataSourceImagesVideos removeObjectAtIndex:index];
                     [self.photos removeObjectAtIndex:index];
                     [self.photos removeObjectAtIndex:index];
@@ -915,9 +914,7 @@
                 
                 
                         self.title = @"";
                         self.title = @"";
                         [self.navigationController popViewControllerAnimated:YES];
                         [self.navigationController popViewControllerAnimated:YES];
-                    }
-            
-                    break;
+                    }            
                 }
                 }
             }
             }
         }
         }