Marino Faggiana 6 years ago
parent
commit
0d7fdffb75

+ 3 - 2
File Provider Extension/FileProviderExtension+Actions.swift

@@ -376,9 +376,10 @@ extension FileProviderExtension {
                 }
                 }
             
             
                 let fileName = NCUtility.sharedInstance.createFileName(fileURL.lastPathComponent, serverUrl: tableDirectory.serverUrl, account: self.providerData.account)
                 let fileName = NCUtility.sharedInstance.createFileName(fileURL.lastPathComponent, serverUrl: tableDirectory.serverUrl, account: self.providerData.account)
+                let fileID = CCUtility.createMetadataID(fromAccount: self.providerData.account, serverUrl: tableDirectory.serverUrl, fileName: fileName, directory: false)!
             
             
                 self.fileCoordinator.coordinate(readingItemAt: fileURL, options: .withoutChanges, error: &error) { (url) in
                 self.fileCoordinator.coordinate(readingItemAt: fileURL, options: .withoutChanges, error: &error) { (url) in
-                    _ = self.providerData.moveFile(url.path, toPath: CCUtility.getDirectoryProviderStorageFileID(tableDirectory.directoryID + fileName, fileNameView: fileName))
+                    _ = self.providerData.moveFile(url.path, toPath: CCUtility.getDirectoryProviderStorageFileID(fileID, fileNameView: fileName))
                 }
                 }
             
             
                 fileURL.stopAccessingSecurityScopedResource()
                 fileURL.stopAccessingSecurityScopedResource()
@@ -390,7 +391,7 @@ extension FileProviderExtension {
                 metadata.date = NSDate()
                 metadata.date = NSDate()
                 metadata.directory = false
                 metadata.directory = false
                 metadata.etag = ""
                 metadata.etag = ""
-                metadata.fileID = tableDirectory.directoryID + fileName
+                metadata.fileID = fileID
                 metadata.fileName = fileName
                 metadata.fileName = fileName
                 metadata.fileNameView = fileName
                 metadata.fileNameView = fileName
                 metadata.serverUrl = tableDirectory.serverUrl
                 metadata.serverUrl = tableDirectory.serverUrl

+ 4 - 12
File Provider Extension/FileProviderExtension+Network.swift

@@ -129,10 +129,6 @@ extension FileProviderExtension {
             return
             return
         }
         }
         
         
-        guard let directoryID = NCManageDatabase.sharedInstance.getDirectoryID(metadata.serverUrl, account: metadata.account) else {
-            return
-        }
-        
         guard let parentItemIdentifier = providerData.getParentItemIdentifier(metadata: metadata) else {
         guard let parentItemIdentifier = providerData.getParentItemIdentifier(metadata: metadata) else {
             return
             return
         }
         }
@@ -140,9 +136,9 @@ extension FileProviderExtension {
         // OK
         // OK
         if errorCode == 0 {
         if errorCode == 0 {
             
             
-            // Remove temp fileID = directoryID + fileName
+            // Remove temp fileID
             providerData.queueTradeSafe.sync(flags: .barrier) {
             providerData.queueTradeSafe.sync(flags: .barrier) {
-                let itemIdentifier = NSFileProviderItemIdentifier(directoryID+fileName)
+                let itemIdentifier = NSFileProviderItemIdentifier(CCUtility.createMetadataID(fromAccount: metadata.account, serverUrl: metadata.serverUrl, fileName: metadata.fileName, directory: false))
                 self.providerData.fileProviderSignalDeleteContainerItemIdentifier[itemIdentifier] = itemIdentifier
                 self.providerData.fileProviderSignalDeleteContainerItemIdentifier[itemIdentifier] = itemIdentifier
                 self.providerData.fileProviderSignalDeleteWorkingSetItemIdentifier[itemIdentifier] = itemIdentifier
                 self.providerData.fileProviderSignalDeleteWorkingSetItemIdentifier[itemIdentifier] = itemIdentifier
             }
             }
@@ -201,13 +197,9 @@ extension FileProviderExtension {
         
         
         var itemIdentifierForUpload = itemIdentifier
         var itemIdentifierForUpload = itemIdentifier
         
         
-        // Is itemIdentifier = directoryID+fileName [Apple Works and ... ?]
+        // Is itemIdentifier = fileName [Apple Works and ... ?]
         if itemIdentifier.rawValue.contains(fileName) && providerData.fileExists(atPath: CCUtility.getDirectoryProviderStorage()+"/"+itemIdentifier.rawValue) {
         if itemIdentifier.rawValue.contains(fileName) && providerData.fileExists(atPath: CCUtility.getDirectoryProviderStorage()+"/"+itemIdentifier.rawValue) {
-            let directoryID = itemIdentifier.rawValue.replacingOccurrences(of: fileName, with: "")
-            guard let serverUrl = NCManageDatabase.sharedInstance.getServerUrl(directoryID) else {
-                return
-            }
-            guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileName == %@", providerData.account, serverUrl, fileName)) else {
+            guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account == %@ AND fileID == %@ AND fileName == %@", providerData.account, itemIdentifier.rawValue, fileName)) else {
                 return
                 return
             }
             }
             itemIdentifierForUpload = providerData.getItemIdentifier(metadata: metadata)
             itemIdentifierForUpload = providerData.getItemIdentifier(metadata: metadata)

+ 1 - 6
File Provider Extension/FileProviderExtension.swift

@@ -214,11 +214,6 @@ class FileProviderExtension: NSFileProviderExtension, CCNetworkingDelegate {
             return
             return
         }
         }
         
         
-        guard let directoryID = NCManageDatabase.sharedInstance.getDirectoryID(metadata.serverUrl, account: metadata.account) else {
-            completionHandler(NSFileProviderError(.noSuchItem))
-            return
-        }
-        
         // Error ? reUpload when touch
         // Error ? reUpload when touch
         if metadata.status == k_metadataStatusUploadError && metadata.session == k_upload_session_extension {
         if metadata.status == k_metadataStatusUploadError && metadata.session == k_upload_session_extension {
             
             
@@ -231,7 +226,7 @@ class FileProviderExtension: NSFileProviderExtension, CCNetworkingDelegate {
         }
         }
             
             
         // is Upload [Office 365 !!!]
         // is Upload [Office 365 !!!]
-        if metadata.fileID.contains(directoryID + metadata.fileName) {
+        if metadata.fileID == CCUtility.createMetadataID(fromAccount: metadata.account, serverUrl: metadata.serverUrl, fileName: metadata.fileName, directory: false)! {
             completionHandler(nil)
             completionHandler(nil)
             return
             return
         }
         }

+ 1 - 2
Share/ShareViewController.m

@@ -213,14 +213,13 @@
 {
 {
     if ([self.filesName count] > 0) {
     if ([self.filesName count] > 0) {
     
     
-        NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:self.serverUrl account:self.activeAccount];
         NSString *fileName = [[NCUtility sharedInstance] createFileName:[self.filesName objectAtIndex:0] serverUrl:self.serverUrl account:self.activeAccount];
         NSString *fileName = [[NCUtility sharedInstance] createFileName:[self.filesName objectAtIndex:0] serverUrl:self.serverUrl account:self.activeAccount];
         
         
         tableMetadata *metadataForUpload = [tableMetadata new];
         tableMetadata *metadataForUpload = [tableMetadata new];
         
         
         metadataForUpload.account = self.activeAccount;
         metadataForUpload.account = self.activeAccount;
         metadataForUpload.date = [NSDate new];
         metadataForUpload.date = [NSDate new];
-        metadataForUpload.fileID = [directoryID stringByAppendingString:fileName];
+        metadataForUpload.fileID = [CCUtility createMetadataIDFromAccount:self.activeAccount serverUrl:self.serverUrl fileName:fileName directory:false];
         metadataForUpload.fileName = fileName;
         metadataForUpload.fileName = fileName;
         metadataForUpload.fileNameView = fileName;
         metadataForUpload.fileNameView = fileName;
         metadataForUpload.serverUrl = self.serverUrl;
         metadataForUpload.serverUrl = self.serverUrl;

+ 2 - 8
iOSClient/AutoUpload/NCAutoUpload.m

@@ -339,7 +339,7 @@
     tableAccount *tableAccount = [[NCManageDatabase sharedInstance] getAccountActive];
     tableAccount *tableAccount = [[NCManageDatabase sharedInstance] getAccountActive];
     NSMutableArray *metadataFull = [NSMutableArray new];
     NSMutableArray *metadataFull = [NSMutableArray new];
     NSString *autoUploadPath = [[NCManageDatabase sharedInstance] getAccountAutoUploadPath:appDelegate.activeUrl];
     NSString *autoUploadPath = [[NCManageDatabase sharedInstance] getAccountAutoUploadPath:appDelegate.activeUrl];
-    NSString *serverUrl, *prevServerUrl, *directoryID;
+    NSString *serverUrl;
     
     
     // Check Asset : NEW or FULL
     // Check Asset : NEW or FULL
     PHFetchResult *newAssetToUpload = [self getCameraRollAssets:tableAccount selector:selector alignPhotoLibrary:NO];
     PHFetchResult *newAssetToUpload = [self getCameraRollAssets:tableAccount selector:selector alignPhotoLibrary:NO];
@@ -395,17 +395,11 @@
         [formatter setDateFormat:@"MM"];
         [formatter setDateFormat:@"MM"];
         NSString *monthString = [formatter stringFromDate:assetDate];
         NSString *monthString = [formatter stringFromDate:assetDate];
         
         
-        // get directoryID
         if (tableAccount.autoUploadCreateSubfolder)
         if (tableAccount.autoUploadCreateSubfolder)
             serverUrl = [NSString stringWithFormat:@"%@/%@/%@", autoUploadPath, yearString, monthString];
             serverUrl = [NSString stringWithFormat:@"%@/%@/%@", autoUploadPath, yearString, monthString];
         else
         else
             serverUrl = autoUploadPath;
             serverUrl = autoUploadPath;
         
         
-        if (![serverUrl isEqualToString:prevServerUrl]) {
-            directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl account:appDelegate.activeAccount];
-            prevServerUrl = serverUrl;
-        }
-        
         // Check il file already exists
         // Check il file already exists
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, serverUrl, fileName]];
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, serverUrl, fileName]];
         if (!metadata) {
         if (!metadata) {
@@ -415,7 +409,7 @@
             metadataForUpload.account = appDelegate.activeAccount;
             metadataForUpload.account = appDelegate.activeAccount;
             metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
             metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
             metadataForUpload.date = [NSDate new];
             metadataForUpload.date = [NSDate new];
-            metadataForUpload.fileID = [directoryID stringByAppendingString:fileName];
+            metadataForUpload.fileID = [CCUtility createMetadataIDFromAccount:appDelegate.activeAccount serverUrl:serverUrl fileName:fileName directory:false];
             metadataForUpload.fileName = fileName;
             metadataForUpload.fileName = fileName;
             metadataForUpload.fileNameView = fileName;
             metadataForUpload.fileNameView = fileName;
             metadataForUpload.serverUrl = serverUrl;
             metadataForUpload.serverUrl = serverUrl;

+ 1 - 2
iOSClient/CCGlobal.h

@@ -95,8 +95,7 @@
 // define Nextcloud IOS
 // define Nextcloud IOS
 #define k_share_link_middle_part_url_after_version_8    @"index.php/s/"
 #define k_share_link_middle_part_url_after_version_8    @"index.php/s/"
 
 
-// directoryID root
-#define k_directoryID_root                              @"00000000-0000-0000-0000-000000000000"
+// serverUrl root
 #define k_serverUrl_root                                @".."
 #define k_serverUrl_root                                @".."
 
 
 // Constants to identify the different permissions of a file
 // Constants to identify the different permissions of a file

+ 0 - 32
iOSClient/Database/NCManageDatabase.swift

@@ -944,38 +944,6 @@ class NCManageDatabase: NSObject {
         }
         }
     }
     }
     
     
-    @objc func getDirectoryID(_ serverUrl: String?, account: String) -> String? {
-        
-        guard let serverUrl = serverUrl else {
-            return nil
-        }
-        
-        let realm = try! Realm()
-        realm.refresh()
-
-        guard let result = realm.objects(tableDirectory.self).filter("account = %@ AND serverUrl = %@", account, serverUrl).first else {
-            return self.addDirectory(encrypted: false, favorite: false, lock: false, offline: false, fileID: nil, permissions: nil, serverUrl: serverUrl, account: account)?.directoryID
-        }
-        
-        return result.directoryID
-    }
-    
-    @objc func getServerUrl(_ directoryID: String?) -> String? {
-        
-        guard let directoryID = directoryID else {
-            return nil
-        }
-        
-        let realm = try! Realm()
-        realm.refresh()
-        
-        guard let result = realm.objects(tableDirectory.self).filter("directoryID == %@", directoryID).first else {
-            return nil
-        }
-        
-        return result.serverUrl
-    }
-    
     @objc func setDateReadDirectory(serverUrl: String, account: String) {
     @objc func setDateReadDirectory(serverUrl: String, account: String) {
         
         
         let realm = try! Realm()
         let realm = try! Realm()

+ 5 - 12
iOSClient/Main/CCMain.m

@@ -707,9 +707,8 @@
         [coordinator coordinateReadingItemAtURL:url options:NSFileCoordinatorReadingForUploading error:&error byAccessor:^(NSURL *newURL) {
         [coordinator coordinateReadingItemAtURL:url options:NSFileCoordinatorReadingForUploading error:&error byAccessor:^(NSURL *newURL) {
             
             
             NSString *serverUrl = [appDelegate getTabBarControllerActiveServerUrl];
             NSString *serverUrl = [appDelegate getTabBarControllerActiveServerUrl];
-            NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl account:appDelegate.activeAccount];
             NSString *fileName =  [[NCUtility sharedInstance] createFileName:[url lastPathComponent] serverUrl:serverUrl account:appDelegate.activeAccount];
             NSString *fileName =  [[NCUtility sharedInstance] createFileName:[url lastPathComponent] serverUrl:serverUrl account:appDelegate.activeAccount];
-            NSString *fileID = [directoryID stringByAppendingString:fileName];
+            NSString *fileID = [CCUtility createMetadataIDFromAccount:appDelegate.activeAccount serverUrl:serverUrl fileName:fileName directory:false];
             NSData *data = [NSData dataWithContentsOfURL:newURL];
             NSData *data = [NSData dataWithContentsOfURL:newURL];
             
             
             if (data && error == nil) {
             if (data && error == nil) {
@@ -1067,7 +1066,7 @@
         metadataForUpload.account = appDelegate.activeAccount;
         metadataForUpload.account = appDelegate.activeAccount;
         metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
         metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
         metadataForUpload.date = [NSDate new];
         metadataForUpload.date = [NSDate new];
-        metadataForUpload.fileID = [[[NCManageDatabase sharedInstance] getDirectoryID:serverUrl account:appDelegate.activeAccount] stringByAppendingString:fileName];
+        metadataForUpload.fileID = [CCUtility createMetadataIDFromAccount:appDelegate.activeAccount serverUrl:serverUrl fileName:fileName directory:false];
         metadataForUpload.fileName = fileName;
         metadataForUpload.fileName = fileName;
         metadataForUpload.fileNameView = fileName;
         metadataForUpload.fileNameView = fileName;
         metadataForUpload.serverUrl = serverUrl;
         metadataForUpload.serverUrl = serverUrl;
@@ -1320,9 +1319,7 @@
     
     
     _loadingFolder = YES;
     _loadingFolder = YES;
     [self tableViewReloadData];
     [self tableViewReloadData];
-    
-    tableDirectory *directory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", appDelegate.activeAccount, serverUrl]];
-    
+        
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
 
 
     metadataNet.action = actionReadFolder;
     metadataNet.action = actionReadFolder;
@@ -1863,8 +1860,6 @@
 {
 {
     fileNameFolder = [CCUtility removeForbiddenCharactersServer:fileNameFolder];
     fileNameFolder = [CCUtility removeForbiddenCharactersServer:fileNameFolder];
     if (![fileNameFolder length]) return;
     if (![fileNameFolder length]) return;
-    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl account:appDelegate.activeAccount];
-    if (!directoryID) return;
     NSString *fileIDTemp = [[NSUUID UUID] UUIDString];
     NSString *fileIDTemp = [[NSUUID UUID] UUIDString];
     
     
     // Create Directory (temp) on metadata
     // Create Directory (temp) on metadata
@@ -3047,7 +3042,6 @@
         
         
         NSData *dataFileID = [dic objectForKey: k_metadataKeyedUnarchiver];
         NSData *dataFileID = [dic objectForKey: k_metadataKeyedUnarchiver];
         NSString *fileID = [NSKeyedUnarchiver unarchiveObjectWithData:dataFileID];
         NSString *fileID = [NSKeyedUnarchiver unarchiveObjectWithData:dataFileID];
-        NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:self.serverUrl account:appDelegate.activeAccount];
 
 
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID]];
         tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", fileID]];
         
         
@@ -3056,15 +3050,14 @@
             if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
             if ([CCUtility fileProviderStorageExists:metadata.fileID fileNameView:metadata.fileNameView]) {
                 
                 
                 NSString *fileName = [[NCUtility sharedInstance] createFileName:metadata.fileNameView serverUrl:self.serverUrl account:appDelegate.activeAccount];
                 NSString *fileName = [[NCUtility sharedInstance] createFileName:metadata.fileNameView serverUrl:self.serverUrl account:appDelegate.activeAccount];
-                NSString *fileID = [directoryID stringByAppendingString:fileName];
-                    
+                
                 [CCUtility copyFileAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView] toPath:[CCUtility getDirectoryProviderStorageFileID:fileID fileNameView:fileName]];
                 [CCUtility copyFileAtPath:[CCUtility getDirectoryProviderStorageFileID:metadata.fileID fileNameView:metadata.fileNameView] toPath:[CCUtility getDirectoryProviderStorageFileID:fileID fileNameView:fileName]];
                     
                     
                 tableMetadata *metadataForUpload = [tableMetadata new];
                 tableMetadata *metadataForUpload = [tableMetadata new];
                         
                         
                 metadataForUpload.account = appDelegate.activeAccount;
                 metadataForUpload.account = appDelegate.activeAccount;
                 metadataForUpload.date = [NSDate new];
                 metadataForUpload.date = [NSDate new];
-                metadataForUpload.fileID = fileID;
+                metadataForUpload.fileID = [CCUtility createMetadataIDFromAccount:appDelegate.activeAccount serverUrl:self.serverUrl fileName:fileName directory:false];
                 metadataForUpload.fileName = fileName;
                 metadataForUpload.fileName = fileName;
                 metadataForUpload.fileNameView = fileName;
                 metadataForUpload.fileNameView = fileName;
                 metadataForUpload.serverUrl = self.serverUrl;
                 metadataForUpload.serverUrl = self.serverUrl;

+ 2 - 5
iOSClient/Main/Create cloud/NCCreateFormUploadFileText.swift

@@ -170,10 +170,6 @@ class NCCreateFormUploadFileText: XLFormViewController, NCSelectDelegate {
             fileNameSave = (name as! NSString).deletingPathExtension + ".txt"
             fileNameSave = (name as! NSString).deletingPathExtension + ".txt"
         }
         }
         
         
-        guard let directoryID = NCManageDatabase.sharedInstance.getDirectoryID(self.serverUrl, account: appDelegate.activeAccount) else {
-            return
-        }
-        
         let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, self.serverUrl, fileNameSave))
         let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, self.serverUrl, fileNameSave))
         if (metadata != nil) {
         if (metadata != nil) {
             
             
@@ -192,7 +188,8 @@ class NCCreateFormUploadFileText: XLFormViewController, NCSelectDelegate {
             self.present(alertController, animated: true, completion:nil)
             self.present(alertController, animated: true, completion:nil)
             
             
         } else {
         } else {
-            dismissAndUpload(fileNameSave, fileID: directoryID + fileNameSave, serverUrl: serverUrl)
+            let fileID = CCUtility.createMetadataID(fromAccount: appDelegate.activeAccount, serverUrl: self.serverUrl, fileName: fileNameSave, directory: false)!
+            dismissAndUpload(fileNameSave, fileID: fileID, serverUrl: serverUrl)
         }
         }
     }
     }
     
     

+ 2 - 6
iOSClient/Main/Create cloud/NCCreateFormUploadScanDocument.swift

@@ -310,10 +310,6 @@ class NCCreateFormUploadScanDocument: XLFormViewController, NCSelectDelegate {
             fileNameSave = (name as! NSString).deletingPathExtension + "." + fileType.lowercased()
             fileNameSave = (name as! NSString).deletingPathExtension + "." + fileType.lowercased()
         }
         }
         
         
-        guard let directoryID = NCManageDatabase.sharedInstance.getDirectoryID(self.serverUrl, account: appDelegate.activeAccount) else {
-            return
-        }
-        
         let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, self.serverUrl, fileNameSave))
         let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView == %@", appDelegate.activeAccount, self.serverUrl, fileNameSave))
         if (metadata != nil) {
         if (metadata != nil) {
             
             
@@ -324,7 +320,7 @@ class NCCreateFormUploadScanDocument: XLFormViewController, NCSelectDelegate {
             
             
             let overwriteAction = UIAlertAction(title: NSLocalizedString("_overwrite_", comment: ""), style: .cancel) { (action:UIAlertAction) in
             let overwriteAction = UIAlertAction(title: NSLocalizedString("_overwrite_", comment: ""), style: .cancel) { (action:UIAlertAction) in
                 NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView == %@", self.appDelegate.activeAccount, self.serverUrl, fileNameSave))
                 NCManageDatabase.sharedInstance.deleteMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@ AND fileNameView == %@", self.appDelegate.activeAccount, self.serverUrl, fileNameSave))
-                self.dismissAndUpload(fileNameSave, fileID: directoryID + fileNameSave, serverUrl: self.serverUrl)
+                self.dismissAndUpload(fileNameSave, fileID: CCUtility.createMetadataID(fromAccount: self.appDelegate.activeAccount, serverUrl: self.serverUrl, fileName: self.serverUrl, directory: false)!, serverUrl: self.serverUrl)
             }
             }
             
             
             alertController.addAction(cancelAction)
             alertController.addAction(cancelAction)
@@ -333,7 +329,7 @@ class NCCreateFormUploadScanDocument: XLFormViewController, NCSelectDelegate {
             self.present(alertController, animated: true, completion:nil)
             self.present(alertController, animated: true, completion:nil)
             
             
         } else {
         } else {
-            dismissAndUpload(fileNameSave, fileID: directoryID + fileNameSave, serverUrl: serverUrl)
+            dismissAndUpload(fileNameSave, fileID: CCUtility.createMetadataID(fromAccount: appDelegate.activeAccount, serverUrl: serverUrl, fileName: serverUrl, directory: false)!, serverUrl: serverUrl)
         }
         }
     }
     }
     
     

+ 0 - 24
iOSClient/Media/CCMedia.m

@@ -630,30 +630,6 @@
             [self searchPhotoVideo];
             [self searchPhotoVideo];
         }
         }
     }
     }
-    
-    /*
-    if ([type isEqualToString:@"automaticUploadFolder"]) {
-        
-        if (title == nil) {
-            [appDelegate messageNotification:@"_error_" description:@"_media_error_select_folder_" visible:YES delay:k_dismissAfterSecond type:TWMessageBarMessageTypeError errorCode:0];
-            return;
-        }
-        
-        NSString *serverUrl = [NSURL URLWithString:serverUrlTo].URLByDeletingLastPathComponent.absoluteString;
-        if ([[serverUrl substringFromIndex:[serverUrl length] - 1] isEqualToString:@"/"])
-            serverUrl = [serverUrl substringToIndex:[serverUrl length] - 1];
-
-        // Clear data (old) Auto Upload
-        [[NCManageDatabase sharedInstance] clearDateReadWithServerUrl:[[NCManageDatabase sharedInstance] getAccountAutoUploadDirectory:appDelegate.activeUrl] directoryID:nil];
-        
-        // Settings new folder Automatatic upload
-        [[NCManageDatabase sharedInstance] setAccountAutoUploadFileName:title];
-        [[NCManageDatabase sharedInstance] setAccountAutoUploadDirectory:serverUrl activeUrl:appDelegate.activeUrl];
-        
-        // Clear data new Auto Upload
-        [[NCManageDatabase sharedInstance] clearDateReadWithServerUrl:serverUrl directoryID:nil];
-    }
-    */
 }
 }
 
 
 - (void)selectStartDirectoryPhotosTab
 - (void)selectStartDirectoryPhotosTab

+ 4 - 7
iOSClient/Networking/CCNetworking.m

@@ -752,8 +752,7 @@
                     
                     
                     // Change Metadata with new fileID, fileName, fileNameView
                     // Change Metadata with new fileID, fileName, fileNameView
                     [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
                     [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", metadata.fileID]];
-                    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:metadata.serverUrl account:metadata.account];
-                    metadata.fileID = [directoryID stringByAppendingString:metadata.fileName];
+                    metadata.fileID = [CCUtility createMetadataIDFromAccount:metadata.account serverUrl:metadata.serverUrl fileName:metadata.fileName directory:false];
                 }
                 }
                 
                 
                 tableMetadata *metadataForUpload = [[NCManageDatabase sharedInstance] addMetadata:[CCUtility insertFileSystemInMetadata:metadata]];
                 tableMetadata *metadataForUpload = [[NCManageDatabase sharedInstance] addMetadata:[CCUtility insertFileSystemInMetadata:metadata]];
@@ -873,9 +872,8 @@
             return;
             return;
         }
         }
         
         
-        // if new file upload [directoryID + fileName] create a new encrypted filename
-        NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:metadata.serverUrl account:metadata.account];
-        if ([metadata.fileID isEqualToString:[directoryID stringByAppendingString:metadata.fileNameView]]) {
+        // if new file upload create a new encrypted filename
+        if ([metadata.fileID isEqualToString:[CCUtility createMetadataIDFromAccount:metadata.account serverUrl:metadata.serverUrl fileName:metadata.fileName directory:false]]) {
             fileNameIdentifier = [CCUtility generateRandomIdentifier];
             fileNameIdentifier = [CCUtility generateRandomIdentifier];
         } else {
         } else {
             fileNameIdentifier = metadata.fileName;
             fileNameIdentifier = metadata.fileName;
@@ -1179,8 +1177,7 @@
         NSLog(@"[LOG] Insert new upload : %@ - fileID : %@", metadata.fileName, fileID);
         NSLog(@"[LOG] Insert new upload : %@ - fileID : %@", metadata.fileName, fileID);
 
 
         // remove tempFileID and adjust the directory provider storage
         // remove tempFileID and adjust the directory provider storage
-        NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:metadata.serverUrl account:metadata.account];
-        if ([tempFileID isEqualToString:[directoryID stringByAppendingString:metadata.fileNameView]]) {
+        if ([tempFileID isEqualToString:[CCUtility createMetadataIDFromAccount:metadata.account serverUrl:metadata.serverUrl fileName:metadata.fileName directory:metadata.directory]]) {
             
             
             [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", tempFileID]];
             [[NCManageDatabase sharedInstance] deleteMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", tempFileID]];
             
             

+ 0 - 1
iOSClient/Synchronize/CCSynchronize.m

@@ -55,7 +55,6 @@
 #pragma --------------------------------------------------------------------------------------------
 #pragma --------------------------------------------------------------------------------------------
 
 
 // serverUrl    : start
 // serverUrl    : start
-// directoryID  : start
 // selector     : selectorReadFolder, selectorReadFolderWithDownload
 // selector     : selectorReadFolder, selectorReadFolderWithDownload
 //
 //
 
 

+ 2 - 4
iOSClient/UploadFromOtherUpp/CCUploadFromOtherUpp.m

@@ -173,15 +173,13 @@
 
 
 -(void)upload
 -(void)upload
 {
 {
-    NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrlLocal account:appDelegate.activeAccount];
     NSString *fileName = [[NCUtility sharedInstance] createFileName:appDelegate.fileNameUpload serverUrl:serverUrlLocal account:appDelegate.activeAccount];
     NSString *fileName = [[NCUtility sharedInstance] createFileName:appDelegate.fileNameUpload serverUrl:serverUrlLocal account:appDelegate.activeAccount];
-    NSString *fileID = [directoryID stringByAppendingString:appDelegate.fileNameUpload];
     
     
     tableMetadata *metadataForUpload = [tableMetadata new];
     tableMetadata *metadataForUpload = [tableMetadata new];
     
     
     metadataForUpload.account = appDelegate.activeAccount;
     metadataForUpload.account = appDelegate.activeAccount;
     metadataForUpload.date = [NSDate new];
     metadataForUpload.date = [NSDate new];
-    metadataForUpload.fileID = fileID;
+    metadataForUpload.fileID = [CCUtility createMetadataIDFromAccount:appDelegate.activeAccount serverUrl:serverUrlLocal fileName:fileName directory:false];
     metadataForUpload.fileName = fileName;
     metadataForUpload.fileName = fileName;
     metadataForUpload.fileNameView = fileName;
     metadataForUpload.fileNameView = fileName;
     metadataForUpload.serverUrl = serverUrlLocal;
     metadataForUpload.serverUrl = serverUrlLocal;
@@ -196,7 +194,7 @@
     (void)[[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
     (void)[[NCManageDatabase sharedInstance] addMetadata:metadataForUpload];
     [appDelegate performSelectorOnMainThread:@selector(loadAutoDownloadUpload) withObject:nil waitUntilDone:YES];
     [appDelegate performSelectorOnMainThread:@selector(loadAutoDownloadUpload) withObject:nil waitUntilDone:YES];
     
     
-    [[NCMainCommon sharedInstance] reloadDatasourceWithServerUrl:serverUrlLocal fileID:fileID action:k_action_NULL];
+    [[NCMainCommon sharedInstance] reloadDatasourceWithServerUrl:serverUrlLocal fileID:metadataForUpload.fileID action:k_action_NULL];
 
 
     [self dismissViewControllerAnimated:YES completion:nil];
     [self dismissViewControllerAnimated:YES completion:nil];
 }
 }