Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/Smarty/sysplugins/smarty_template_config.php
Строк: 91
<?php
/**
 * Smarty Config Source Plugin
 *
 * @package    Smarty
 * @subpackage TemplateResources
 * @author     Uwe Tews
 */

/**
 * Smarty Config Resource Data Object
 * Meta Data Container for Template Files
 *
 * @package    Smarty
 * @subpackage TemplateResources
 * @author     Uwe Tews
 */
class Smarty_Template_Config extends Smarty_Template_Source
{
    
/**
     * array of section names, single section or null
     *
     * @var null|string|array
     */
    
public $config_sections null;

    
/**
     * scope into which the config variables shall be loaded
     *
     * @var int
     */
    
public $scope 0;

    
/**
     * Flag that source is a config file
     *
     * @var bool
     */
    
public $isConfig true;

    
/**
     * Name of the Class to compile this resource's contents with
     *
     * @var string
     */
    
public $compiler_class 'Smarty_Internal_Config_File_Compiler';

    
/**
     * Name of the Class to tokenize this resource's contents with
     *
     * @var string
     */
    
public $template_lexer_class 'Smarty_Internal_Configfilelexer';

    
/**
     * Name of the Class to parse this resource's contents with
     *
     * @var string
     */
    
public $template_parser_class 'Smarty_Internal_Configfileparser';

    
/**
     * initialize Source Object for given resource
     * Either [$_template] or [$smarty, $template_resource] must be specified
     *
     * @param Smarty_Internal_Template $_template         template object
     * @param Smarty                   $smarty            smarty object
     * @param string                   $template_resource resource identifier
     *
     * @return Smarty_Template_Config Source Object
     * @throws SmartyException
     */
    
public static function load(
        
Smarty_Internal_Template $_template null,
        
Smarty $smarty null,
        
$template_resource null
    
) {
        static 
$_incompatible_resources = array('extends' => true'php' => true);
        if (
$_template) {
            
$smarty $_template->smarty;
            
$template_resource $_template->template_resource;
        }
        if (empty(
$template_resource)) {
            throw new 
SmartyException('Source: Missing  name');
        }
        
// parse resource_name, load resource handler
        
list($name$type) = Smarty_Resource::parseResourceName($template_resource$smarty->default_config_type);
        
// make sure configs are not loaded via anything smarty can't handle
        
if (isset($_incompatible_resources$type ])) {
            throw new 
SmartyException("Unable to use resource '{$type}' for config");
        }
        
$source = new Smarty_Template_Config($smarty$template_resource$type$name);
        
$source->handler->populate($source$_template);
        if (!
$source->exists && isset($smarty->default_config_handler_func)) {
            
Smarty_Internal_Method_RegisterDefaultTemplateHandler::_getDefaultTemplate($source);
            
$source->handler->populate($source$_template);
        }
        return 
$source;
    }
}
Онлайн: 2
Реклама