Browse Source

Add new possibility for branding

Marino Faggiana 8 năm trước cách đây
mục cha
commit
a008a6138a

+ 1 - 1
Nextcloud.xcodeproj/project.pbxproj

@@ -3354,12 +3354,12 @@
 		F7F67BAB1A24D27800EE80DA /* Supporting Files */ = {
 			isa = PBXGroup;
 			children = (
+				F72B60941A24F04E004EF66F /* Localizations */,
 				F75CDBF51DF063AD00116AD0 /* .gitignore */,
 				F7229B491DF71BB300E8C4E7 /* AUTHORS */,
 				F7F0617A1BAACDD300846525 /* CryptoCloud.pch */,
 				F78BFECA1D3111B800E513CF /* LaunchScreenNextcloud.xib */,
 				F77D49A71DC238E500CDC568 /* loading@2x.gif */,
-				F72B60941A24F04E004EF66F /* Localizations */,
 				F7F67BAD1A24D27800EE80DA /* main.m */,
 				F7D154271E2392A300202FD9 /* Nextcloud-Bridging-Header.h */,
 				F76344751BF259A800188725 /* synchronized.gif */,

BIN
Nextcloud.xcodeproj/project.xcworkspace/xcuserdata/marinofaggiana.xcuserdatad/UserInterfaceState.xcuserstate


+ 11 - 0
Nextcloud.xcodeproj/project.xcworkspace/xcuserdata/marinofaggiana.xcuserdatad/xcdebugger/Expressions.xcexplist

@@ -10,6 +10,17 @@
             </PersistentString>
          </PersistentStrings>
       </ContextState>
+      <ContextState
+         contextName = "-[CCLogin testUrl]:CCLogin.m">
+         <PersistentStrings>
+            <PersistentString
+               value = "k_option_use_multiDomains">
+            </PersistentString>
+            <PersistentString
+               value = "k_loginBaseUrlMultiDomains">
+            </PersistentString>
+         </PersistentStrings>
+      </ContextState>
       <ContextState
          contextName = "-[CCManageAccount UpdateForm]:CCManageAccount.m">
          <PersistentStrings>

+ 34 - 0
Nextcloud.xcodeproj/xcuserdata/marinofaggiana.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -2,4 +2,38 @@
 <Bucket
    type = "1"
    version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "iOSClient/Login/CCLogin.m"
+            timestampString = "515602135.087946"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "170"
+            endingLineNumber = "170"
+            landmarkName = "-testUrl"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "iOSClient/Login/CCLogin.m"
+            timestampString = "515602121.269018"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "167"
+            endingLineNumber = "167"
+            landmarkName = "-testUrl"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
 </Bucket>

+ 1 - 1
iOSClient/Brand/NCBrandConstant.h

@@ -27,7 +27,7 @@
 #define k_textCopyrightNextcloudiOS             @"Nextcloud for iOS %@ © 2017 T.W.S. Inc."
 #define k_textCopyrightNextcloudServer          @"Nextcloud Server %@"
 #define k_loginBaseUrl                          @"https://cloud.twsweb.it"
-#define k_loginBaseUrlMultiDomains              {@"domain.com", "domain.it"}
+#define k_loginBaseUrlMultiDomains              @[@"domain.com", @"domain.it"]
 #define k_pushNotificationServer                @"https://push-notifications.nextcloud.com"
 #define k_loginButtonLabelLink                  @"https://nextcloud.com/providers"
 #define k_webLoginAutenticationProtocol         @""

+ 29 - 1
iOSClient/Login/CCLogin.m

@@ -163,9 +163,37 @@
 
 - (void)testUrl
 {
+    // Use MultiDomain check if this is correct
+    if (k_option_use_multiDomains == YES) {
+        
+        BOOL foundDomain = NO;
+        NSString *message = @"";
+        
+        for (NSString *domain in k_loginBaseUrlMultiDomains) {
+            
+            message = [NSString stringWithFormat:@"%@ %@", message, domain];
+            
+            if ([self.baseUrl.text containsString:domain])
+                foundDomain = YES;
+        }
+        
+        if (!foundDomain) {
+            
+            UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"_error_", nil) message:[NSString stringWithFormat:@"%@ %@", NSLocalizedString(@"_error_multidomain_", nil), message]  preferredStyle:UIAlertControllerStyleAlert];
+            
+            [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_ok_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+                self.baseUrl.text = @"";
+            }]];
+            
+            [self presentViewController:alertController animated:YES completion:nil];
+
+            return;
+        }
+    }
+    
     self.login.enabled = NO;
     self.loadingBaseUrl.hidden = NO;
-  
+    
     // Check whether baseUrl contain protocol. If not add https:// by default.
     if(![self.baseUrl.text hasPrefix:@"https"] && ![self.baseUrl.text hasPrefix:@"http"]) {
       self.baseUrl.text = [NSString stringWithFormat:@"https://%@",self.baseUrl.text];

+ 1 - 0
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -214,6 +214,7 @@
 "_email_"                       = "Email";
 "_title_form_security_init_"    = "Security options";
 "_login_bottom_label_"          = "Don't have a server yet?\nChoose one of the providers.";
+"_error_multidomain_"           = "Address not allowed, only the following domains are valid:";
 
 // Favorite