marinofaggiana 4 жил өмнө
parent
commit
eda217efff

+ 51 - 34
iOSClient/Database/NCManageDatabase.swift

@@ -912,13 +912,35 @@ class NCManageDatabase: NSObject {
         let json = JSON(jsondata)
         let data = json["ocs"]["data"]
 
-        if let versionMajor = data["version"]["major"].int {
-            return versionMajor
+        if let result = data["version"]["major"].int {
+            return result
         } else {
             return 0
         }
     }
     
+    @objc func getCapabilitiesServerVersionString(account: String) -> String? {
+
+        let realm = try! Realm()
+        realm.refresh()
+        
+        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 data = json["ocs"]["data"]
+
+        if let result = data["version"]["string"].string {
+            return result
+        } else {
+            return nil
+        }
+    }
+    
     @objc func getCapabilitiesWebDavRoot(account: String) -> String? {
 
         let realm = try! Realm()
@@ -934,8 +956,8 @@ class NCManageDatabase: NSObject {
         let json = JSON(jsondata)
         let dataCapabilities = json["ocs"]["data"]["capabilities"]
 
-        if let webDavRoot = dataCapabilities["core"]["webdav-root"].string {
-            return webDavRoot
+        if let result = dataCapabilities["core"]["webdav-root"].string {
+            return result
         } else {
             return nil
         }
@@ -956,13 +978,35 @@ class NCManageDatabase: NSObject {
         let json = JSON(jsondata)
         let dataCapabilities = json["ocs"]["data"]["capabilities"]
 
-        if let version = dataCapabilities["end-to-end-encryption"]["api-version"].string {
-            return Float(version)!
+        if let result = dataCapabilities["end-to-end-encryption"]["api-version"].string {
+            return Float(result)!
         } else {
             return 0
         }
     }
     
+    @objc func getCapabilitiesServerTheming(account: String, element: String) -> String? {
+
+        let realm = try! Realm()
+        realm.refresh()
+        
+        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 result = dataCapabilities["theming"][element].string {
+            return result
+        } else {
+            return nil
+        }
+    }
+    
     #if !EXTENSION
     @objc func addCapabilities(_ capabilities: OCCapabilities, account: String) {
         
@@ -1074,34 +1118,7 @@ class NCManageDatabase: NSObject {
         return realm.objects(tableCapabilities.self).filter("account == %@", account).first
     }
     
-    @objc func compareServerVersion(_ versionCompare: String, account: String) -> Int {
-        
-        let realm = try! Realm()
-
-        guard let capabilities = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
-            return -1
-        }
-        
-        let versionServer = capabilities.versionString
-        
-        let v1 = versionServer.split(separator:".").map { Int(String($0)) }
-        let v2 = versionCompare.split(separator:".").map { Int(String($0)) }
-        
-        var result = 0
-        for i in 0..<max(v1.count,v2.count) {
-            let left = i >= v1.count ? 0 : v1[i]
-            let right = i >= v2.count ? 0 : v2[i]
-            
-            if (left == right) {
-                result = 0
-            } else if left! > right! {
-                return 1
-            } else if right! > left! {
-                return -1
-            }
-        }
-        return result
-    }
+   
     
     @objc func getRichdocumentsMimetypes(account: String) -> [String]? {
         

+ 6 - 6
iOSClient/Settings/CCSettings.m

@@ -468,17 +468,17 @@
         }
         break;
         case 5: {
-            
-            tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:appDelegate.activeAccount];
-            
-            NSString *versionServer = capabilities.versionString;
-            
+                        
+            NSString *versionServer = [[NCManageDatabase sharedInstance] getCapabilitiesServerVersionStringWithAccount:appDelegate.activeAccount];
+            NSString *themingName = [[NCManageDatabase sharedInstance] getCapabilitiesServerThemingWithAccount:appDelegate.activeAccount element:@"name"];
+            NSString *themingSlogan = [[NCManageDatabase sharedInstance] getCapabilitiesServerThemingWithAccount:appDelegate.activeAccount element:@"slogan"];
+
             NSString *versionApp = [NSString stringWithFormat:@"%@.%@", [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"], [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]];
             
             NSString *versionNextcloud = [NSString stringWithFormat:[NCBrandOptions sharedInstance].textCopyrightNextcloudServer, versionServer];
             NSString *versionNextcloudiOS = [NSString stringWithFormat:[NCBrandOptions sharedInstance].textCopyrightNextcloudiOS, versionApp];
             
-            NSString *nameSlogan = [NSString stringWithFormat:@"%@ - %@", capabilities.themingName, capabilities.themingSlogan];
+            NSString *nameSlogan = [NSString stringWithFormat:@"%@ - %@", themingName, themingSlogan];
             
             sectionName = [NSString stringWithFormat:@"%@\n\n%@\n%@", versionNextcloudiOS, versionNextcloud, nameSlogan];
         }