/** * Main entry point for the controller. * * @return string - The final page output */ public function getResponse($parameters) { // Resolve rerouted error $error = in_array($parameters[0], array('403', '404', '500')) ? $parameters[0] : '404'; // Create the standard vB templater $templater = new vB_Templater_vB(); // TODO: Check what happens to style when undefined. // Register the templater to be used for XHTML vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); // Create the page view $page_view = new vB_View_Page('page'); // Create the body view $error_view = new vB_View('error_' . $error); // Get original requested url so we can link to retry or redirect to it after login $error_view->initial_url = vB_Router::getInitialURL(); // Add the body view to the page $page_view->setBodyView($error_view); // Add general page info // TODO: $view->setBreadcrumbInfo(); // May not be needed $page_view->setPageTitle(new vB_Phrase('error', 'error_' . $error)); return $page_view->render(); }
/** * Main entry point for the controller. * * @return string - The final page output */ public function getResponse() { // Register the templater to be used for XHTML vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); $error = vB_Router::getSegment('error'); // Resolve rerouted error $error = in_array($error, array('403', '404', '409', '500')) ? $error : '404'; $current_page = $_SERVER['SCRIPT_NAME'] . ($_SERVER['SCRIPT_NAME'] == '' ? '' : '?' . $_SERVER['QUERY_STRING']); if ('403' == $error) { define('WOLPATH', '403|cpglobal|403_error|' . new vB_Phrase('wol', 'viewing_no_permission_message')); vB::$vbulletin->session->set('location', $current_page); print_no_permission(); } else { if ('409' == $error) { $message = ($message = vB_Router::getRerouteMessage()) ? $message : new vB_Phrase('error', 'error_409_description', vB_Router::getInitialURL(), vB_Router::getBaseURL(), vB::$vbulletin->options['contactuslink']); define('WOLPATH', '409|wol|' . new vB_Phrase('cpglobal', 'error') . "|{$message}"); vB::$vbulletin->session->set('location', $current_page); standard_error($message); } else { if ('500' == $error) { $message = new vB_Phrase('error', 'error_500_description', vB_Router::getInitialURL(), vB_Router::getBaseURL(), vB::$vbulletin->options['contactuslink']); define('WOLPATH', '500|wol|' . new vB_Phrase('cpglobal', 'error') . "|{$message}"); vB::$vbulletin->session->set('location', $current_page); standard_error($message); } else { $message = new vB_Phrase('error', 'error_404_description', vB_Router::getBaseURL(), vB::$vbulletin->options['contactuslink']); define('WOLPATH', '404|wol|' . new vB_Phrase('cpglobal', 'error') . "|{$message}"); vB::$vbulletin->session->set('location', $current_page); } } } // Create the page view $page_view = new vB_View_Page('page'); $title = new vB_Phrase('error', 'error_404'); $page_view->setPageTitle($title); // Create the body view $error_view = new vB_View('error_message'); $subtitle = $title != ($subtitle = vB_Router::getRerouteMessage()) ? $subtitle : false; $error_view->title = $title; $error_view->subtitle = $subtitle; $error_view->message = new vB_Phrase('error', 'error_404_description', vB_Router::getBaseURL(), vB::$vbulletin->options['contactuslink']); $page_view->setBodyView($error_view); // Add general page info $page_view->setPageTitle($title); return $page_view->render(); }