Вход Регистрация
Файл: library/XenForo/Dependencies/Install.php
Строк: 241
<?php

/**
* Handles front controller dependencies for install/upgrade pages.
*
* @package XenForo_Mvc
*/
class XenForo_Dependencies_Install extends XenForo_Dependencies_Abstract
{
    public 
$templateClass 'XenForo_Template_Install';

    
/**
    * @return XenForo_Router
    */
    
public function getRouter()
    {
        
$router = new XenForo_Router();
        
$router->addRule(new XenForo_Route_ResponseSuffix(), 'ResponseSuffix')
               ->
addRule(new XenForo_Install_Route(), 'Install');

        return 
$router;
    }

    
/**
    * Determines if the controller matched by the route can be dispatched. Use this
    * function to ensure, for example, that an admin page only shows an admin controller.
    *
    * @param mixed  Likely a XenForo_Controller object, but not guaranteed
    * @param string Name of the action to call
    *
    * @return boolean
    */
    
public function allowControllerDispatch($controller$action)
    {
        return (
$controller instanceof XenForo_Install_Controller_Abstract);
    }

    
/**
    * Gets the routing information for a not found error
    *
    * @return array Format: [0] => controller name, [1] => action
    */
    
public function getNotFoundErrorRoute()
    {
        return array(
'XenForo_Install_Controller_Index''ErrorNotFound');
    }

    
/**
    * Gets the routing information for a search error
    *
    * @return array Format: [0] => controller name, [1] => action
    */
    
public function getServerErrorRoute()
    {
        return array(
'XenForo_Install_Controller_Index''ErrorServer');
    }

    
/**
    * Creates the view renderer for a specified response type. If an invalid
    * type is specified, false is returned.
    *
    * @param Zend_Controller_Response_Http Response object
    * @param string                        Type of response
    * @param Zend_Controller_Request_Http  Request object
    *
    * @return XenForo_ViewRenderer_Abstract|false
    */
    
public function getViewRenderer(Zend_Controller_Response_Http $response$responseTypeZend_Controller_Request_Http $request)
    {
        
$renderer parent::getViewRenderer($response$responseType$request);
        if (!
$renderer)
        {
            
$renderer = new XenForo_ViewRenderer_HtmlInstall($this$response$request);
        }
        return 
$renderer;
    }

    
/**
     * Gets the base view class name for this type.
     */
    
public function getBaseViewClassName()
    {
        return 
'XenForo_Install_View_Base';
    }

    
/**
    * Helper method to create a template object for rendering.
    *
    * @param string Name of the template to be used
    * @param array  Key-value parameters to pass to the template
    *
    * @return XenForo_Template_Admin
    */
    
public function createTemplateObject($templateName, array $params = array())
    {
        if (
$params)
        {
            
$params XenForo_Application::mapMerge($this->_defaultTemplateParams$params);
        }
        else
        {
            
$params $this->_defaultTemplateParams;
        }

        
$class $this->templateClass;
        return new 
$class($templateName$params);
    }

    
/**
     * Gets extra container data from template renders.
     */
    
public function getExtraContainerData()
    {
        return 
XenForo_Template_Install::getExtraContainerData();
    }

    
/**
    * Preloads a template with the template handler for use later.
    *
    * @param string Template name
    */
    
public function preloadTemplate($templateName)
    {
        
XenForo_Template_Install::preloadTemplate($templateName);
    }

    
/**
     * Pre-loads globally required data for the system.
     */
    
public function preLoadData()
    {
        
XenForo_Application::$javaScriptUrl 'js';
        
XenForo_Error::setIgnorePendingUpgrade(true);
    }

    
/**
     * Performs any pre-view rendering setup, such as getting style information and
     * ensuring the correct data is registered.
     *
     * @param XenForo_ControllerResponse_Abstract|null $controllerResponse
     */
    
public function preRenderView(XenForo_ControllerResponse_Abstract $controllerResponse null)
    {
        
// note this intentionally doesn't call the abstract version

        
if (XenForo_Application::isRegistered('session'))
        {
            
$this->_defaultTemplateParams['session'] = XenForo_Application::get('session')->getAll();
        }
        if (
XenForo_Visitor::hasInstance())
        {
            
$this->_defaultTemplateParams['visitor'] = XenForo_Visitor::getInstance()->toArray();
        }

        
$this->_defaultTemplateParams['requestPaths'] = XenForo_Application::get('requestPaths');
    }

    
/**
    * @see XenForo_Dependencies_Abstract::getEffectiveContainerParams
    */
    
public function getEffectiveContainerParams(array $paramsZend_Controller_Request_Http $request)
    {
        
$params['showUpgradePendingNotice'] = false;

        return 
$params;
    }
}
Онлайн: 0
Реклама