Marino Faggiana 6 rokov pred
rodič
commit
b395dd1372

+ 1 - 1
iOSClient/Favorites/CCFavorites.m

@@ -447,7 +447,7 @@
         NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
         tableDirectory *tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND e2eEncrypted == 1 AND serverUrl == %@", appDelegate.activeAccount, serverUrl]];
         
-        [[NCMainCommon sharedInstance ] deleteFileWithFilesID:[[NSArray alloc] initWithObjects:metadata.fileID, nil] e2ee:tableDirectory.e2eEncrypted serverUrl:serverUrl folderFileID:tableDirectory.fileID completion:^(NSInteger errorCode, NSString *message) {
+        [[NCMainCommon sharedInstance ] deleteFileWithMetadatas:[[NSArray alloc] initWithObjects:metadata, nil] e2ee:tableDirectory.e2eEncrypted serverUrl:serverUrl folderFileID:tableDirectory.fileID completion:^(NSInteger errorCode, NSString *message) {
             [self reloadDatasource];
         }];
     }]];

+ 1 - 1
iOSClient/Main/CCDetail.m

@@ -889,7 +889,7 @@
     NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
     tableDirectory *tableDirectory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND e2eEncrypted == 1 AND serverUrl == %@", appDelegate.activeAccount, serverUrl]];
     
-    [[NCMainCommon sharedInstance ] deleteFileWithFilesID:[[NSArray alloc] initWithObjects:metadata.fileID, nil] e2ee:tableDirectory.e2eEncrypted serverUrl:serverUrl folderFileID:tableDirectory.fileID completion:^(NSInteger errorCode, NSString *message) {
+    [[NCMainCommon sharedInstance ] deleteFileWithMetadatas:[[NSArray alloc] initWithObjects:metadata, nil] e2ee:tableDirectory.e2eEncrypted serverUrl:serverUrl folderFileID:tableDirectory.fileID completion:^(NSInteger errorCode, NSString *message) {
         
         if (errorCode == 0) {
             

+ 4 - 4
iOSClient/Main/CCMain.m

@@ -1763,17 +1763,17 @@
     if (_isSelectedMode && [_selectedFileIDsMetadatas count] == 0)
         return;
      
-    NSArray *filesID;
+    NSArray *metadatas;
     if ([_selectedFileIDsMetadatas count] > 0) {
-        filesID = [_selectedFileIDsMetadatas allKeys];
+        metadatas = [_selectedFileIDsMetadatas allValues];
     } else {
-        filesID = [[NSArray alloc] initWithObjects:_metadata.fileID, nil];
+        metadatas = [[NSArray alloc] initWithObjects:_metadata, nil];
     }
     
     // remove optimization
     _dateReadDataSource = nil;
     
-    [[NCMainCommon sharedInstance ] deleteFileWithFilesID:filesID e2ee:_metadataFolder.e2eEncrypted serverUrl:self.serverUrl folderFileID:_metadataFolder.fileID completion:^(NSInteger errorCode, NSString *message) {
+    [[NCMainCommon sharedInstance ] deleteFileWithMetadatas:metadatas e2ee:_metadataFolder.e2eEncrypted serverUrl:self.serverUrl folderFileID:_metadataFolder.fileID completion:^(NSInteger errorCode, NSString *message) {
         
         // Reload
         if (_isSearchMode)

+ 7 - 11
iOSClient/Main/NCMainCommon.swift

@@ -484,16 +484,16 @@ class NCMainCommon: NSObject {
     
     //MARK: -
     
-    @objc func deleteFile(filesID: NSArray, e2ee: Bool, serverUrl: String, folderFileID: String, completion: @escaping (_ errorCode: Int, _ message: String)->()) {
+    @objc func deleteFile(metadatas: NSArray, e2ee: Bool, serverUrl: String, folderFileID: String, completion: @escaping (_ errorCode: Int, _ message: String)->()) {
         
-        let copyFilesID = NSArray(array:filesID as! [Any], copyItems: true)
+        //let copyFilesID = NSArray(array:filesID as! [Any], copyItems: true)
         
         if e2ee {
             DispatchQueue.global().async {
                 let error = NCNetworkingEndToEnd.sharedManager().lockFolderEncrypted(onServerUrl: serverUrl, fileID: folderFileID, user: self.appDelegate.activeUser, userID: self.appDelegate.activeUserID, password: self.appDelegate.activePassword, url: self.appDelegate.activeUrl)
                 DispatchQueue.main.async {
                     if error == nil {
-                        self.delete(filesID: copyFilesID, serverUrl:serverUrl, e2ee: e2ee, completion: completion)
+                        self.delete(metadatas: metadatas, serverUrl:serverUrl, e2ee: e2ee, completion: completion)
                     } else {
                         self.appDelegate.messageNotification("_delete_", description: error?.localizedDescription, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: Int(k_CCErrorInternalError))
                         return
@@ -501,11 +501,11 @@ class NCMainCommon: NSObject {
                 }
             }
         } else {
-            delete(filesID: copyFilesID, serverUrl:serverUrl, e2ee: e2ee, completion: completion)
+            delete(metadatas: metadatas, serverUrl:serverUrl, e2ee: e2ee, completion: completion)
         }
     }
     
-    private func delete(filesID: NSArray, serverUrl: String, e2ee: Bool, completion: @escaping (_ errorCode: Int, _ message: String)->()) {
+    private func delete(metadatas: NSArray, serverUrl: String, e2ee: Bool, completion: @escaping (_ errorCode: Int, _ message: String)->()) {
         
         var count: Int = 0
         var completionErrorCode: Int = 0
@@ -513,12 +513,8 @@ class NCMainCommon: NSObject {
         
         let ocNetworking = OCnetworking.init(delegate: nil, metadataNet: nil, withUser: appDelegate.activeUser, withUserID: appDelegate.activeUserID, withPassword: appDelegate.activePassword, withUrl: appDelegate.activeUrl)
         
-        for case let fileID as String in filesID {
+        for case let metadata as tableMetadata in metadatas {
         
-            guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "fileID == %@", fileID)) else {
-                return
-            }
-            
             guard let serverUrl = NCManageDatabase.sharedInstance.getServerUrl(metadata.directoryID) else {
                 continue
             }
@@ -557,7 +553,7 @@ class NCMainCommon: NSObject {
                     completionMessage = message!
                 }
                 
-                if count == filesID.count {
+                if count == metadatas.count {
                     if e2ee {
                         DispatchQueue.global().async {
                             NCNetworkingEndToEnd.sharedManager().rebuildAndSendMetadata(onServerUrl: serverUrl, account: self.appDelegate.activeAccount, user: self.appDelegate.activeUser, userID: self.appDelegate.activeUserID, password: self.appDelegate.activePassword, url: self.appDelegate.activeUrl)

+ 13 - 15
iOSClient/Photos/CCPhotos.m

@@ -31,7 +31,7 @@
 {
     AppDelegate *appDelegate;
 
-    NSMutableArray *selectedFilesID;
+    NSMutableArray *selectedMetadatas;
     CCSectionDataSourceMetadata *sectionDataSource;
     NSString *saveDirectoryID, *saveServerUrl;
     
@@ -85,7 +85,7 @@
     [super viewDidLoad];
     
     saveEtagForStartDirectory = [NSMutableDictionary new];
-    selectedFilesID = [NSMutableArray new];
+    selectedMetadatas = [NSMutableArray new];
     self.fileIDHide = [NSMutableArray new];
     self.addMetadatasFromUpload = [NSMutableArray new];
     
@@ -215,7 +215,7 @@
     self.navigationItem.rightBarButtonItems = [[NSArray alloc] initWithObjects:buttonDelete, buttonOpenWith, nil];
     
     // Title
-    self.navigationItem.title = [NSString stringWithFormat:@"%@ : %lu / %lu", NSLocalizedString(@"_selected_", nil), (unsigned long)[selectedFilesID count], (unsigned long)[sectionDataSource.allRecordsDataSource count]];
+    self.navigationItem.title = [NSString stringWithFormat:@"%@ : %lu / %lu", NSLocalizedString(@"_selected_", nil), (unsigned long)[selectedMetadatas count], (unsigned long)[sectionDataSource.allRecordsDataSource count]];
 }
 
 - (void)cellSelect:(BOOL)select indexPath:(NSIndexPath *)indexPath metadata:(tableMetadata *)metadata
@@ -228,16 +228,16 @@
         effect.hidden = NO;
         effect.alpha = 0.4;
         checked.hidden = NO;
-        [selectedFilesID addObject:metadata.fileID];
+        [selectedMetadatas addObject:metadata];
         
     } else {
         effect.hidden = YES;
         checked.hidden = YES;
-        [selectedFilesID removeObject:metadata.fileID];
+        [selectedMetadatas removeObject:metadata];
     }
     
     // Title
-    self.navigationItem.title = [NSString stringWithFormat:@"%@ : %lu / %lu", NSLocalizedString(@"_selected_", nil), (unsigned long)[selectedFilesID count], (unsigned long)[sectionDataSource.allRecordsDataSource count]];
+    self.navigationItem.title = [NSString stringWithFormat:@"%@ : %lu / %lu", NSLocalizedString(@"_selected_", nil), (unsigned long)[selectedMetadatas count], (unsigned long)[sectionDataSource.allRecordsDataSource count]];
 }
 
 - (void)scrollToTop
@@ -302,10 +302,8 @@
 {
     NSMutableArray *dataToShare = [[NSMutableArray alloc] init];
     
-    for (NSString *fileID in selectedFilesID) {
+    for (tableMetadata *metadata in selectedMetadatas) {
     
-        tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID]];
-        
         NSString *fileNamePath = [CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileName:metadata.fileNameView];
                 
         if ([CCUtility fileProviderStorageExists:metadata.fileID fileName:metadata.fileNameView]) {
@@ -397,9 +395,9 @@
 #pragma mark ===== Delete =====
 #pragma--------------------------------------------------------------------------------------------
 
-- (void)deleteFile:(NSArray *)filesID e2ee:(BOOL)e2ee
+- (void)deleteFile:(NSArray *)metadatas e2ee:(BOOL)e2ee
 {
-    [[NCMainCommon sharedInstance ] deleteFileWithFilesID:filesID e2ee:false serverUrl:@"" folderFileID:@"" completion:^(NSInteger errorCode, NSString *message) {
+    [[NCMainCommon sharedInstance ] deleteFileWithMetadatas:metadatas e2ee:false serverUrl:@"" folderFileID:@"" completion:^(NSInteger errorCode, NSString *message) {
         [self reloadDatasource];
     }];
     
@@ -408,7 +406,7 @@
 
 - (void)deleteSelectedFiles
 {
-    if ([selectedFilesID count] == 0)
+    if ([selectedMetadatas count] == 0)
         return;
     
     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
@@ -416,7 +414,7 @@
     [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_delete_", nil)
                                                          style:UIAlertActionStyleDestructive
                                                        handler:^(UIAlertAction *action) {
-                                                           [self deleteFile:selectedFilesID e2ee:false];
+                                                           [self deleteFile:selectedMetadatas e2ee:false];
                                                        }]];
     
     [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_cancel_", nil)
@@ -588,7 +586,7 @@
 {
     [self.collectionView setAllowsMultipleSelection:true];
     isEditMode = true;
-    [selectedFilesID removeAllObjects];
+    [selectedMetadatas removeAllObjects];
     [self setUINavigationBarSelected];
 
     [self.collectionView reloadData];
@@ -598,7 +596,7 @@
 {
     [self.collectionView setAllowsMultipleSelection:false];
     isEditMode = false;
-    [selectedFilesID removeAllObjects];
+    [selectedMetadatas removeAllObjects];
     [self setUINavigationBarDefault];
     
     [self.collectionView reloadData];