]> source.dussan.org Git - nextcloud-server.git/commitdiff
Move backend finding into its own method.
authorAndreas Fischer <bantu@owncloud.com>
Wed, 2 Oct 2013 13:31:46 +0000 (15:31 +0200)
committerAndreas Fischer <bantu@owncloud.com>
Mon, 7 Oct 2013 10:26:25 +0000 (12:26 +0200)
lib/private/user.php

index 0284e8044f6af8b26d07260cd9622d8461082e1a..04cd06b08bd18f17b6960b209804daa9c4338351 100644 (file)
@@ -247,18 +247,15 @@ class OC_User {
         *          null: not handled / no backend available
         */
        public static function handleApacheAuth() {
-               foreach (self::$_usedBackends as $backend) {
-                       if ($backend instanceof OCP\Authentication\IApacheBackend) {
-                               if ($backend->isSessionActive()) {
-                                       OC_App::loadApps();
+               $backend = self::findFirstActiveUsedBackend();
+               if ($backend) {
+                       OC_App::loadApps();
 
-                                       //setup extra user backends
-                                       self::setupBackends();
-                                       self::unsetMagicInCookie();
+                       //setup extra user backends
+                       self::setupBackends();
+                       self::unsetMagicInCookie();
 
-                                       return self::loginWithApache($backend);
-                               }
-                       }
+                       return self::loginWithApache($backend);
                }
 
                return null;
@@ -319,12 +316,9 @@ class OC_User {
         * @return string with one or more HTML attributes.
         */
        public static function getLogoutAttribute() {
-               foreach (self::$_usedBackends as $backend) {
-                       if ($backend instanceof OCP\Authentication\IApacheBackend) {
-                               if ($backend->isSessionActive()) {
-                                       return $backend->getLogoutAttribute();
-                               }
-                       }
+               $backend = self::findFirstActiveUsedBackend();
+               if ($backend) {
+                       return $backend->getLogoutAttribute();
                }
 
                return "href=" . link_to('', 'index.php') . "?logout=true";
@@ -568,4 +562,20 @@ class OC_User {
        public static function unsetMagicInCookie() {
                self::getUserSession()->unsetMagicInCookie();
        }
+
+       /**
+        * @brief Returns the first active backend from self::$_usedBackends.
+        * @return null if no backend active, otherwise OCP\Authentication\IApacheBackend
+        */
+       private static function findFirstActiveUsedBackend() {
+               foreach (self::$_usedBackends as $backend) {
+                       if ($backend instanceof OCP\Authentication\IApacheBackend) {
+                               if ($backend->isSessionActive()) {
+                                       return $backend;
+                               }
+                       }
+               }
+
+               return null;
+       }
 }