/** * Main entry point for the controller. * * @return string - The final page output */ public function getResponse() { $error = vB_Router::getSegment('error'); // Resolve rerouted error $error = in_array($error, array('403', '404', '500')) ? $error : '404'; // Setup the templater for xhtml vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); $view = new vB_View_AJAXHTML('http_error'); if ('403' == $error) { $view->addError(new vB_Phrase('error', 'nopermission_loggedin_ajax')); } else if ('500' == $error) { $view->addError(new vB_Phrase('error', 'error_500')); } else { $view->addError(new vB_Phrase('error', 'error_400')); } return $view->render(true); }
/** * 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(); }
/** * Constructor. * * @param array mixed $parameters - User requested parameters. * @param string $action - Optional action for the controller's getResponse() */ public function __construct($parameters, $action = false) { parent::__construct($parameters, $action); global $bootstrap; $this->bootstrap = $bootstrap; // Register the templater to be used for XHTML vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); }
/** * Initialisation. * Initialises the view, templaters and all other necessary objects for * successfully creating the response. */ protected function initialize() { // Get Widget that we're configuring $widgets = vBCms_Widget::getWidgetCollection(array($this->widget), vBCms_Item_Widget::INFO_CONFIG, $this->node); $widgets = vBCms_Widget::getWidgetControllers($widgets, true); if (!isset($this->widget) OR !isset($widgets[$this->widget])) { throw (new vB_Exception_404()); } $this->widget = $widgets[$this->widget]; // Ensure node is valid if ($this->node) { $this->node = new vBCms_Item_Content($this->node); if (!$this->node->isValid()) { throw (new vB_Exception_404()); } } // Setup the templater for xhtml vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); }
/** * function to return the rendered html for this result * * @param string $current_user * @param object $criteria * @return */ public function render($current_user, $criteria, $template_name = '') { global $vbulletin; global $show; include_once DIR . '/vb/search/searchtools.php'; include_once DIR . '/includes/functions_user.php'; if (!strlen($template_name)) { $template_name = strtolower($this->package) . '_searchresult_' . strtolower($this->class); } $view = new vB_View($template_name); $view->title = $this->record['title']; $view->html_title = $this->record['html_title']; $view->categories = $this->record['categories']; $view->published = $this->record['publishdate'] >= TIMENOW ? true : false ; $view->publishdate = $this->record['publishdate']; $view->previewtext = $this->record['previewtext']; $view->pagetext = $this->record['pagetext']; $view->parent_html_title = $this->record['parent_html_title']; $view->dateformat = $vbulletin->options['dateformat']; $view->parenttitle = $this->record['parenttitle']; $view->timeformat = $vbulletin->options['default_timeformat']; $view->parentnode = $this->record['parentnode']; $view->username = $this->record['username']; $view->user = array( 'username' => $this->record['username'], 'userid' => $this->record['userid']); $view->page_url = vB_Route::create('vBCms_Route_Content', $this->record['nodeid'])->getCurrentURL(); if (vB::$vbulletin->options['avatarenabled']) { $view->avatar = fetch_avatar_url($this->record['userid']); } //When we can we'll return the view, but right now the calling objects //want strings. // Create the standard vB templater $templater = new vB_Templater_vB(); // Register the templater to be used for XHTML vB_View::registerTemplater(vB_View::OT_XHTML, $templater); return $view->render(); }
/** * Config Widget * * @return string - The final page output */ public function actionConfig($widget = false) { if (!$widget) { throw (new vB_Exception_404(new vB_Phrase('error', 'page_not_found'))); } // Setup the templater for xhtml vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); // Get the content controller $this->content = vBCms_Content::create($this->node->getPackage(), $this->node->getClass(), $this->node->getContentId()); // Add the node as content $this->content->castFrom($this->node); // Get Widget that we're configuring $widgets = vBCms_Widget::getWidgetCollection(array($widget), vBCms_Item_Widget::INFO_CONFIG, $this->node->getId()); $widgets = vBCms_Widget::getWidgetControllers($widgets, true, $this->content); if (!isset($widgets[$widget])) { throw (new vB_Exception_404()); } $widget = $widgets[$widget]; // Render the content's config view and return return $widget->getConfigView()->render(true); }
/** * Sets up the XHTML templater. */ protected function registerXHTMLTemplater() { // Create the standard vB templater $templater = new vB_Templater_vB(); // TODO: Check if node allows user style. Check if current user style is allowed. Apply user style. $templater->setStyle($this->styleid); // Register the templater to be used for XHTML vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); }
eval(standard_error(fetch_error('emaildisabled'))); } $vbulletin->input->clean_array_gpc('r', array('return_node' => TYPE_UINT)); if ($vbulletin->GPC['return_node']) { $report_type = 'article_comment'; $content = new vBCms_Item_Content_Article($vbulletin->GPC['return_node']); $reportobj = new vB_ReportItem_ArticleComment($vbulletin); $reportobj->set_extrainfo('node', $vbulletin->GPC['return_node']); $reportobj->set_extrainfo('forum', $foruminfo); $reportobj->set_extrainfo('thread', $threadinfo); // check cms permissions on the article if (!$content->canView()) { print_no_permission(); } define('CMS_SCRIPT', true); vB_View::registerTemplater(vB_View::OT_XHTML, new vB_Templater_vB()); vBCms_NavBar::prepareNavBar($content); } else { $report_type = 'post'; $reportobj = new vB_ReportItem_Post($vbulletin); $reportobj->set_extrainfo('forum', $foruminfo); $reportobj->set_extrainfo('thread', $threadinfo); $forumperms = fetch_permissions($threadinfo['forumid']); if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']) or !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewthreads']) or $threadinfo['postuserid'] != $vbulletin->userinfo['userid'] and !($forumperms & $vbulletin->bf_ugp_forumpermissions['canviewothers'])) { print_no_permission(); } // check if there is a forum password and if so, ensure the user has it set verify_forum_password($foruminfo['forumid'], $foruminfo['password']); } $perform_floodcheck = $reportobj->need_floodcheck(); if ($perform_floodcheck) {