Marino Faggiana 6 years ago
parent
commit
b0a3c0cafe

+ 2 - 2
iOSClient/Favorites/CCFavorites.m

@@ -250,9 +250,9 @@
                 } else {
                     
                     if ([CCUtility getFavoriteOffline])
-                        [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFileWithDownload];
+                        [[CCSynchronize sharedSynchronize] readFile:metadata.fileID fileName:metadata.fileName serverUrl:serverUrl selector:selectorReadFileWithDownload];
                     else
-                        [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFile];
+                        [[CCSynchronize sharedSynchronize] readFile:metadata.fileID fileName:metadata.fileName serverUrl:serverUrl selector:selectorReadFile];
                 }
                 
                 father = serverUrlSon;

+ 6 - 8
iOSClient/Main/CCMain.m

@@ -1050,18 +1050,16 @@
         
         for (tableMetadata *metadata in selectedMetadatas) {
             
+            NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
+            if (serverUrl == nil) continue;
+            
             if (metadata.directory) {
                 
-                NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
-                    
-                if (serverUrl) {
-                    serverUrl = [CCUtility stringAppendServerUrl:serverUrl addFileName:metadata.fileName];
-                    [[CCSynchronize sharedSynchronize] readFolder:serverUrl selector:selectorReadFolderWithDownload];
-                }
+                [[CCSynchronize sharedSynchronize] readFolder:[CCUtility stringAppendServerUrl:serverUrl addFileName:metadata.fileName] selector:selectorReadFolderWithDownload];
                     
             } else {
-                    
-                [[CCSynchronize sharedSynchronize] readFile:metadata selector:selectorReadFileWithDownload];
+                
+                [[CCSynchronize sharedSynchronize] readFile:metadata.fileID fileName:metadata.fileName serverUrl:serverUrl selector:selectorReadFileWithDownload];
             }
         }
         

+ 35 - 0
iOSClient/Main/NCMainCommon.swift

@@ -839,6 +839,41 @@ class NCNetworkingMain: NSObject, CCNetworkingDelegate {
     }
 }
 
+//MARK: -
 
+class NCFunctionMain: NSObject {
+    
+    @objc static let sharedInstance: NCFunctionMain = {
+        let instance = NCFunctionMain()
+        return instance
+    }()
+    
+    let appDelegate = UIApplication.shared.delegate as! AppDelegate
+    
+    @objc func synchronizeOnDevice() {
+        
+        let directories = NCManageDatabase.sharedInstance.getTablesDirectory(predicate: NSPredicate(format: "account == %@ AND onDevice == true", appDelegate.activeAccount), sorted: "serverUrl", ascending: true)
+        if (directories != nil) {
+            for directory: tableDirectory in directories! {
+                
+                CCSynchronize.shared()?.readFile(forFolder: "", serverUrl: "", selector: selectorReadFolderWithDownload)
+            }
+        }
+        
+        let files = NCManageDatabase.sharedInstance.getTableLocalFiles(predicate: NSPredicate(format: "account == %@", appDelegate.activeAccount), sorted: "fileName", ascending: true)
+        if (files != nil) {
+            for file: tableLocalFile in files! {
+                guard let metadata = NCManageDatabase.sharedInstance.getMetadata(predicate: NSPredicate(format: "fileID == %@", file.fileID)) else {
+                    continue
+                }
+                guard let serverUrl = NCManageDatabase.sharedInstance.getServerUrl(metadata.directoryID) else {
+                    continue
+                }
+                CCSynchronize.shared()?.readFile(metadata.fileID, fileName: metadata.fileName, serverUrl: serverUrl, selector: selectorReadFileFolderWithDownload)
+            }
+        }
+    
+    }
+}
 
 

+ 1 - 0
iOSClient/Nextcloud-Bridging-Header.h

@@ -12,6 +12,7 @@
 #import "NCUchardet.h"
 #import "NCEndToEndEncryption.h"
 #import "NYMnemonic.h"
+#import "CCSynchronize.h"
 
 #import "OCActivity.h"
 #import "OCUserProfile.h"

+ 1 - 1
iOSClient/Synchronize/CCSynchronize.h

@@ -38,7 +38,7 @@
 
 - (void)readFolder:(NSString *)serverUrl selector:(NSString *)selector;
 - (void)readFileForFolder:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString *)selector;
-- (void)readFile:(tableMetadata *)metadata selector:(NSString *)selector;
+- (void)readFile:(NSString *)fileID fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString *)selector;
 
 - (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account withDownload:(BOOL)withDownload;
 

+ 3 - 6
iOSClient/Synchronize/CCSynchronize.m

@@ -244,16 +244,13 @@
     [appDelegate addNetworkingOperationQueue:appDelegate.netQueue delegate:self metadataNet:metadataNet];
 }
 
-- (void)readFile:(tableMetadata *)metadata selector:(NSString *)selector
+- (void)readFile:(NSString *)fileID fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString *)selector
 {
-    NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
-    if (!serverUrl) return;
-        
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:appDelegate.activeAccount];
         
     metadataNet.action = actionReadFile;
-    metadataNet.fileID = metadata.fileID;
-    metadataNet.fileName = metadata.fileName;
+    metadataNet.fileID = fileID;
+    metadataNet.fileName = fileName;
     metadataNet.priority = NSOperationQueuePriorityLow;
     metadataNet.selector = selector;
     metadataNet.serverUrl = serverUrl;