/** * Retrieves a user from the current authorization context which should be * used for permission checks. */ public static function currentUser() { if (Authorization::switched()) { return Authorization::realUser(); } return Authorization::user(); }
public function init($params) { self::requireNonce(); self::requirePermission('session.switch_user'); if ($this->revert) { if (Authorization::switched()) { Authorization::switchBack(); } self::redirectTo('home'); exit; } else { if ($this->uid === false) { self::redirectTo('home'); exit; } $dbc = Application::dbConnection(); $this->userInfo = $dbc->users()->getUser($this->uid); if ($this->userInfo) { if ($this->confirmed) { if (Authorization::switched()) { Authorization::switchBack(); } $s = Authorization::switchUser($this->userInfo); if ($s) { self::redirectTo('home'); exit; } $this->errorMessage = 'Switching failed.'; } } } }