public function logoff()
 {
     if ($user = $this->getLoggedInUser()) {
         $user->logout();
     }
     if ($returnto = Ajde::app()->getRequest()->getParam('returnto', false)) {
         $this->redirect($returnto);
     } elseif (substr_count(Ajde_Http_Request::getRefferer(), 'logoff') > 0 || !Ajde_Http_Request::getRefferer()) {
         $this->redirect('user');
     } else {
         $this->redirect(Ajde_Http_Response::REDIRECT_REFFERER);
     }
 }
Esempio n. 2
0
 public function setRedirect($url = self::REDIRECT_SELF)
 {
     if ($url === true || $url === self::REDIRECT_HOMEPAGE) {
         $this->addHeader('Location', config('app.rootUrl'));
     } elseif ($url === self::REDIRECT_REFFERER) {
         $this->addHeader('Location', Ajde_Http_Request::getRefferer());
     } elseif ($url === self::REDIRECT_SELF || empty($url)) {
         $route = (string) Ajde::app()->getRoute();
         $this->addHeader('Location', config('app.rootUrl') . $route);
     } elseif (substr($url, 0, 7) == 'http://' || substr($url, 0, 8) == 'https://') {
         $this->addHeader('Location', $url);
     } elseif ($url) {
         $this->addHeader('Location', config('app.rootUrl') . $url);
     }
     // Don't load any content after Location header is set
     Ajde::app()->getDocument()->setLayout(new Ajde_Layout('empty'));
 }