marinofaggiana 4 years ago
parent
commit
b82acebb03

+ 4 - 3
File Provider Extension/FileProviderEnumerator.swift

@@ -28,7 +28,6 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
     
     var enumeratedItemIdentifier: NSFileProviderItemIdentifier
     var serverUrl: String?
-    let capabilities = NCManageDatabase.sharedInstance.getCapabilites(account: fileProviderData.sharedInstance.account)
     
     init(enumeratedItemIdentifier: NSFileProviderItemIdentifier) {
         
@@ -96,6 +95,8 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
         
         /*** ServerUrl ***/
             
+            let isPaginationEnabled = false
+            
             guard let serverUrl = serverUrl else {
                 observer.finishEnumerating(upTo: nil)
                 return
@@ -103,7 +104,7 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
             
             if (page == NSFileProviderPage.initialPageSortedByDate as NSFileProviderPage || page == NSFileProviderPage.initialPageSortedByName as NSFileProviderPage) {
                 
-                if capabilities?.isPaginationEnabled ?? false {
+                if isPaginationEnabled {
                                     
                     self.readFolder(serverUrl: serverUrl, page: 1, limit: fileProviderData.sharedInstance.itemForPage) { (metadatas) in
                         self.completeObserver(observer, numPage: 1, metadatas: metadatas)
@@ -125,7 +126,7 @@ class FileProviderEnumerator: NSObject, NSFileProviderEnumerator {
                 
                 let numPage = Int(String(data: page.rawValue, encoding: .utf8)!)!
 
-                if capabilities?.isPaginationEnabled ?? false {
+                if isPaginationEnabled {
 
                     self.readFolder(serverUrl: serverUrl, page: 1, limit: fileProviderData.sharedInstance.itemForPage) { (metadatas) in
                         self.completeObserver(observer, numPage: 1, metadatas: metadatas)

+ 4 - 2
Share/ShareViewController.m

@@ -176,8 +176,10 @@
 {
     // Theming
     if ([NCBrandOptions sharedInstance].use_themingColor) {
-        tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:self.activeAccount];
-        [CCGraphics settingThemingColor:capabilities.themingColor themingColorElement:capabilities.themingColorElement themingColorText:capabilities.themingColorText];
+        NSString *themingColor = [[NCManageDatabase sharedInstance] getCapabilitiesServerThemingWithAccount:self.activeAccount element:@"color"];
+        NSString *themingColorElement = [[NCManageDatabase sharedInstance] getCapabilitiesServerThemingWithAccount:self.activeAccount element:@"color-element"];
+        NSString *themingColorText = [[NCManageDatabase sharedInstance] getCapabilitiesServerThemingWithAccount:self.activeAccount element:@"color-text"];
+        [CCGraphics settingThemingColor:themingColor themingColorElement:themingColorElement themingColorText:themingColorText];
     }
     self.navigationController.navigationBar.barTintColor = NCBrandColor.sharedInstance.brand;
     self.navigationController.navigationBar.tintColor = NCBrandColor.sharedInstance.brandText;

+ 26 - 22
iOSClient/Database/NCManageDatabase.swift

@@ -1073,6 +1073,32 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    @objc func getCapabilitiesRichdocumentsMimetypes(account: String) -> [String]? {
+        
+        let realm = try! Realm()
+        realm.refresh()
+        var resultArray = [String]()
+
+        guard let result = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
+            return nil
+        }
+        guard let jsondata = result.jsondata else {
+            return nil
+        }
+        
+        let json = JSON(jsondata)
+        let dataCapabilities = json["ocs"]["data"]["capabilities"]
+        
+        if let results = dataCapabilities["richdocuments"]["mimetypes"].array {
+            for result in results {
+                resultArray.append(result.string ?? "")
+            }
+            return resultArray
+        }
+        
+        return nil
+    }
+    
     #if !EXTENSION
     @objc func addCapabilities(_ capabilities: OCCapabilities, account: String) {
         
@@ -1176,28 +1202,6 @@ class NCManageDatabase: NSObject {
     }
     #endif
     
-    @objc func getCapabilites(account: String) -> tableCapabilities? {
-        
-        let realm = try! Realm()
-        realm.refresh()
-        
-        return realm.objects(tableCapabilities.self).filter("account == %@", account).first
-    }
-    
-   
-    
-    @objc func getRichdocumentsMimetypes(account: String) -> [String]? {
-        
-        let realm = try! Realm()
-        realm.refresh()
-        
-        guard let result = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
-            return nil
-        }
-        
-        return Array(result.richdocumentsMimetypes)
-    }
-    
     //MARK: -
     //MARK: Table Comments
     

+ 1 - 1
iOSClient/Main/Menu/AppDelegate+Menu.swift

@@ -218,7 +218,7 @@ extension AppDelegate {
             )
         }
         
-        if let richdocumentsMimetypes = NCManageDatabase.sharedInstance.getRichdocumentsMimetypes(account: appDelegate.activeAccount) {
+        if let richdocumentsMimetypes = NCManageDatabase.sharedInstance.getCapabilitiesRichdocumentsMimetypes(account: appDelegate.activeAccount) {
             if richdocumentsMimetypes.count > 0 && appDelegate.reachability.isReachable() && !isEncrypted {
                 actions.append(
                     NCMenuAction(

+ 4 - 4
iOSClient/Networking/OCNetworking.m

@@ -985,8 +985,8 @@
         completion(account, nil, NSLocalizedString(@"_ssl_certificate_untrusted_", nil), NSURLErrorServerCertificateUntrusted);
     }
     
-    tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:account];
-    if (capabilities != nil && capabilities.versionMajor >= k_nextcloud_version_15_0) {
+    NSInteger versionMajor = [[NCManageDatabase sharedInstance] getCapabilitiesServerVersionWithAccount:account element:@"major"];
+    if (versionMajor >= k_nextcloud_version_15_0) {
         previews = true;
     }
     
@@ -1650,7 +1650,7 @@
     @synchronized(self) {
         
         AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
-        tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:account];
+        NSInteger versionMajor = [[NCManageDatabase sharedInstance] getCapabilitiesServerVersionWithAccount:account element:@"major"];
         tableAccount *tableAccount = [[NCManageDatabase sharedInstance] getAccountWithPredicate:[NSPredicate predicateWithFormat:@"account == %@", account]];
         NSString *token = [CCUtility getPassword:account];
         
@@ -1660,7 +1660,7 @@
             self.checkRemoteUserInProgress = true;
         }
         
-        if (capabilities != nil && capabilities.versionMajor >= k_nextcloud_version_17_0) {
+        if (versionMajor >= k_nextcloud_version_17_0) {
             
             [[OCNetworking sharedManager] getRemoteWipeStatusWithAccount:account token:token completion:^(NSString *account, BOOL wipe, NSString *message, NSInteger errorCode) {
                 

+ 0 - 10
iOSClient/Trash/Section/NCTrashSectionHeaderFooter.swift

@@ -36,16 +36,6 @@ class NCTrashSectionHeaderMenu: UICollectionReusableView {
     override func awakeFromNib() {
         super.awakeFromNib()
         
-        // Button More
-        /*
-        let capabilities = NCManageDatabase.sharedInstance.getCapabilites()
-        if capabilities != nil && capabilities!.versionMajor >= Int(k_trash_version_available_more_fix) {
-            buttonMore.isHidden = false
-        } else {
-            buttonMore.isHidden = true
-        }
-        */
-        
         buttonSwitch.setImage(CCGraphics.changeThemingColorImage(UIImage.init(named: "switchList"), multiplier: 2, color: NCBrandColor.sharedInstance.icon), for: .normal)
         
         buttonOrder.setTitle("", for: .normal)

+ 1 - 1
iOSClient/Utility/NCUtility.swift

@@ -330,7 +330,7 @@ class NCUtility: NSObject {
         guard let mimeType = CCUtility.getMimeType(metadata.fileNameView) else {
             return false
         }
-        guard let richdocumentsMimetypes = NCManageDatabase.sharedInstance.getRichdocumentsMimetypes(account: metadata.account) else {
+        guard let richdocumentsMimetypes = NCManageDatabase.sharedInstance.getCapabilitiesRichdocumentsMimetypes(account: metadata.account) else {
             return false
         }