public static function _HookCatch404(View $view) { if (REL_REQUEST_PATH == '/') { // Index page was requested! ^_^ // Switch the view's controller with this one. $newcontroller = new self(); // This will allow the system view to be redirected, since I cannot return anything other than a true/false in hook calls. $newcontroller->overwriteView($view); $view->baseurl = '/GettingStarted'; $newcontroller->index(); // Prevent event propagation! return false; } }
public static function _HookHandler403(View $view){ if(\Core\user()->exists()){ //if(Core::User()->exists()){ // User is already logged in... I can't do anything. return true; } // I need to replace the current page with this one so that the previous controller never executes. $newcontroller = new self(); $newcontroller->overwriteView($view); //$view->baseurl = '/user/login'; $auths = \Core\User\Helper::GetEnabledAuthDrivers(); $view->ssl = true; $view->error = View::ERROR_ACCESSDENIED; $view->allowerrors = true; $view->templatename = 'pages/user/guest403.tpl'; $view->assign('drivers', $auths); $view->assign('allowregister', ConfigHandler::Get('/user/register/allowpublic')); // Google has no business indexing user-action pages. $view->addMetaName('robots', 'noindex'); $loginform = new Form(); $loginform->set('callsMethod', 'Core\\User\\Helper::LoginHandler'); $loginform->addElement('text', array('name' => 'email', 'title' => 'Email', 'required' => true)); $loginform->addElement('password', array('name' => 'pass', 'title' => 'Password', 'required' => true)); $loginform->addElement('submit', array('value' => 'Login')); if(ConfigHandler::Get('/user/register/allowpublic')){ $registerform = \Core\User\Helper::GetRegistrationForm(); } else{ $registerform = null; } $error = false; $view->assign('error', $error); $view->assign('backends', ConfigHandler::Get('/user/backends')); $view->assign('loginform', $loginform); $view->assign('registerform', $registerform); $view->assign('allowregister', ConfigHandler::Get('/user/register/allowpublic')); return $view; }