Вход Регистрация
Файл: core/view_renderer.php
Строк: 165
<?php

class PEEP_ViewRenderer
{
    
/**
     * @var PEEP_Smarty
     */
    
private $smarty;

    
/**
     * Singleton instance.
     *
     * @var PEEP_ViewRenderer
     */
    
private static $classInstance;

    
/**
     * Returns an instance of class (singleton pattern implementation).
     *
     * @return PEEP_ViewRenderer
     */
    
public static function getInstance()
    {
        if ( 
self::$classInstance === null )
        {
            
self::$classInstance = new self();
        }

        return 
self::$classInstance;
    }

    
/**
     * Constructor.
     */
    
private function __construct()
    {
        
$this->smarty = new PEEP_Smarty();
    }

    
/**
     * Assigns list of values to template vars by reference.
     *
     * @param array $vars
     */
    
public function assignVars$vars )
    {
        foreach ( 
$vars as $key => $value )
        {
            
$this->smarty->assignByRef($key$vars[$key]);
        }
    }

    
/**
     * Assigns value to template var by reference.
     *
     * @param string $key
     * @param mixed $value
     */
    
public function assignVar$key$value )
    {
        
$this->smarty->assignByRef($key$value);
    }

    
/**
     * Renders template using assigned vars and returns generated markup.
     *
     * @param string $template
     * @return string
     */
    
public function renderTemplate$template )
    {
        return 
$this->smarty->fetch($template);
    }

    
/**
     * Returns assigned var value for provided var name.
     *
     * @param string $varName
     * @return mixed
     */
    
public function getAssignedVar$varName )
    {
        return 
$this->smarty->getTemplateVars($varName);
    }

    
/**
     * Returns list of assigned var values.
     *
     * @return array
     */
    
public function getAllAssignedVars()
    {
        return 
$this->smarty->getTemplateVars();
    }

    
/**
     * Deletes all assigned template vars.
     */
    
public function clearAssignedVars()
    {
        
$this->smarty->clearAllAssign();
    }

    
/**
     *
     * @param string $varName
     */
    
public function clearAssignedVar$varName )
    {
        
$this->smarty->clearAssign($varName);
    }

    
/**
     * Adds custom function for template.
     *
     * @param string $name
     * @param callback $callback
     */
    
public function registerFunction$name$callback )
    {
        if ( empty(
$this->smarty->registered_plugins['function'][$name]) )
        {
            
$this->smarty->registerPlugin('function'$name$callback);
        }
    }

    
/**
     * Removes custom function.
     *
     * @param string $name
     */
    
public function unregisterFunction$name )
    {
        
$this->smarty->unregisterPlugin('function'$name);
    }

    
/**
     * Adds custom block function for template.
     *
     * @param string $name
     * @param callback $callback
     */
    
public function registerBlock$name$callback )
    {
        if ( empty(
$this->smarty->registered_plugins['block'][$name]) )
        {
            
$this->smarty->registerPlugin('block'$name$callback);
        }
    }

    
/**
     * Removes block function.
     *
     * @param string $name
     */
    
public function unregisterBlock$name )
    {
        
$this->smarty->unregisterPlugin('block'$name);
    }

    
/**
     * Adds custom template modifier.
     * 
     * @param string $name
     * @param string $callback 
     */
    
public function registerModifier$name$callback )
    {
        if ( empty(
$this->smarty->registered_plugins['modifier'][$name]) )
        {
            
$this->smarty->registerPlugin('modifier'$name$callback);
        }
    }

    
/**
     * Remopves template modifier.
     * 
     * @param string $name 
     */
    
public function unregisterModifier$name )
    {
        
$this->smarty->unregisterPlugin('modifier'$name);
    }

    
/**
     * Clears compiled templates.
     */
    
public function clearCompiledTpl()
    {
        
$this->smarty->clearCompiledTemplate();
    }
}
Онлайн: 0
Реклама