Beispiel #1
0
	/**
	 * 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();
	}
Beispiel #2
0
 /**
  * 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();
 }