From f05e19348d21c96455adb305328acc7cbfa0f26a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20M=C3=BCller?= Date: Thu, 9 Apr 2015 23:47:24 +0200 Subject: [PATCH] Fix single user check in case no user is logged in --- lib/base.php | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/lib/base.php b/lib/base.php index be397e52449..02b55458f1f 100644 --- a/lib/base.php +++ b/lib/base.php @@ -294,27 +294,33 @@ class OC { header('Retry-After: 120'); // render error page - $tmpl = new OC_Template('', 'update.user', 'guest'); + $template = new OC_Template('', 'update.user', 'guest'); OC_Util::addscript('maintenance-check'); - $tmpl->printPage(); + $template->printPage(); die(); } } public static function checkSingleUserMode() { + if (!\OC::$server->getSystemConfig()->getValue('singleuser', false)) { + return; + } $user = OC_User::getUserSession()->getUser(); - $group = OC_Group::getManager()->get('admin'); - if ($user && \OC::$server->getSystemConfig()->getValue('singleuser', false) && !$group->inGroup($user)) { - // send http status 503 - header('HTTP/1.1 503 Service Temporarily Unavailable'); - header('Status: 503 Service Temporarily Unavailable'); - header('Retry-After: 120'); - - // render error page - $tmpl = new OC_Template('', 'singleuser.user', 'guest'); - $tmpl->printPage(); - die(); + if ($user) { + $group = \OC::$server->getGroupManager()->get('admin'); + if ($group->inGroup($user)) { + return; + } } + // send http status 503 + header('HTTP/1.1 503 Service Temporarily Unavailable'); + header('Status: 503 Service Temporarily Unavailable'); + header('Retry-After: 120'); + + // render error page + $template = new OC_Template('', 'singleuser.user', 'guest'); + $template->printPage(); + die(); } /** -- 2.39.5