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

/**
 * Node handler for page-type nodes.
 *
 * @package XenForo_Page
 */
class XenForo_NodeHandler_Page extends XenForo_NodeHandler_Abstract
{
    
/**
     * Page model object.
     *
     * @var XenForo_Model_Page
     */
    
protected $_pageModel null;

    
/**
     * Determines if the specified node is viewable with the given permissions.
     *
     * @param array $node
     * @param array $nodePermissions
     *
     * @return boolean
     */
    
public function isNodeViewable(array $node, array $nodePermissions)
    {
        return 
$this->_getPageModel()->canViewPage($node$null$nodePermissions);
    }

    
/**
     * Renders the specified node for display in a node tree.
     *
     * @param XenForo_View $view View object doing the rendering
     * @param array $node Information about this node
     * @param array $permissions Permissions for this node
     * @param array $renderedChildren List of rendered children, [node id] => rendered output
     * @param integer $level The level this node should be rendered at, relative to how it's to be displayed.
     *
     * @return string|XenForo_Template_Abstract
     */
    
public function renderNodeForTree(XenForo_View $view, array $node, array $permissions,
        array 
$renderedChildren$level
    
)
    {
        
$templateLevel = ($level <= $level 'n');

        return 
$view->createTemplateObject('node_page_level_' $templateLevel, array(
            
'level' => $level,
            
'page' => $node,
            
'renderedChildren' => $renderedChildren
        
));
    }

    
/**
     * Do type-specific node preparations.
     *
     * @param array $node Unprepared data
     *
     * @return array Prepared data
     */
    /*public function prepareNode(array $node)
    {
        return $this->_getPageModel()->preparePage($node);
    }*/

    /**
     * @return XenForo_Model_Page
     */
    
protected function _getPageModel()
    {
        if (
$this->_pageModel === null)
        {
            
$this->_pageModel XenForo_Model::create('XenForo_Model_Page');
        }

        return 
$this->_pageModel;
    }
}
Онлайн: 3
Реклама