From: Bart Visscher Date: Tue, 19 Jun 2012 15:54:19 +0000 (+0200) Subject: Remember result of OC_User::isLoggedIn, can be very expensive to check X-Git-Tag: v4.5.0beta1~74^2~409^2~7 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4b6f6291c524648ffaa77683d77b486bb467b7e8;p=nextcloud-server.git Remember result of OC_User::isLoggedIn, can be very expensive to check --- diff --git a/lib/user.php b/lib/user.php index f1903093d6d..23b88aa1d06 100644 --- a/lib/user.php +++ b/lib/user.php @@ -240,13 +240,17 @@ class OC_User { * Checks if the user is logged in */ public static function isLoggedIn(){ + static $is_login_checked = null; + if (!is_null($is_login_checked)) { + return $is_login_checked; + } if( isset($_SESSION['user_id']) AND $_SESSION['user_id']) { OC_App::loadApps(array('authentication')); if (self::userExists($_SESSION['user_id']) ){ - return true; + return $is_login_checked = true; } } - return false; + return $is_login_checked = false; } /**