Exemplo n.º 1
0
 /**
  * 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();
 }
Exemplo n.º 2
0
 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.';
             }
         }
     }
 }