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); } }
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')); }