From: Andreas Fischer Date: Wed, 2 Oct 2013 13:31:46 +0000 (+0200) Subject: Move backend finding into its own method. X-Git-Tag: v6.0.0alpha2~72^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=47ed6a5135dd1c6bc01169f430ebb243e29f2694;p=nextcloud-server.git Move backend finding into its own method. --- diff --git a/lib/private/user.php b/lib/private/user.php index 0284e8044f6..04cd06b08bd 100644 --- a/lib/private/user.php +++ b/lib/private/user.php @@ -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; + } }