public static function checkSingleUserMode($lockIfNoUserLoggedIn = false) { if (!\OC::$server->getSystemConfig()->getValue('singleuser', false)) { return; } $user = OC_User::getUserSession()->getUser(); if ($user) { $group = \OC::$server->getGroupManager()->get('admin'); if ($group->inGroup($user)) { return; } } else { if (!$lockIfNoUserLoggedIn) { 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; }
/** * Try to login a user * * @param string $loginname The login name of the user to log in * @param string $password The password of the user * @return boolean|null * * Log in a user and regenerate a new session - if the password is ok */ public static function login($loginname, $password) { $result = \OC_User::getUserSession()->login($loginname, $password); if ($result) { // Refresh the token \OC::$server->getCsrfTokenManager()->refreshToken(); //we need to pass the user name, which may differ from login name $user = \OC_User::getUserSession()->getUser()->getUID(); \OC_Util::setupFS($user); //trigger creation of user home and /files folder \OC::$server->getUserFolder($user); } return $result; }
/** * register hooks for the cache */ public static function registerCacheHooks() { if (\OC::$server->getSystemConfig()->getValue('installed', false) && !\OCP\Util::needUpgrade()) { //don't try to do this before we are properly setup \OCP\BackgroundJob::registerJob('OC\Cache\FileGlobalGC'); // NOTE: This will be replaced to use OCP $userSession = \OC_User::getUserSession(); $userSession->listen('postLogin', '\OC\Cache\File', 'loginListener'); } }
public static function tearDownAfterClass() { \OC_User::deleteUser(\OC_User::getUserSession()->getUser()->getUID()); }