Source for file function.config_load.php
Documentation is available at function.config_load.php
* Smarty {config_load} function plugin
* Purpose: load config file vars
* @link http://smarty.php.net/manual/en/language.function.config.load.php {config_load}
* @author Monte Ohrt <monte at ohrt dot com>
* @author messju mohr <messju at lammfellpuschen dot de> (added use of resources)
* array('file' => required config file name,
* 'section' => optional config file section to load
* 'scope' => local/parent/global
* 'global' => overrides scope, setting to parent if true)
if ($smarty->debugging) {
$_file = isset
($params['file']) ?
$smarty->_dequote($params['file']) :
null;
$_section = isset
($params['section']) ?
$smarty->_dequote($params['section']) :
null;
$_scope = isset
($params['scope']) ?
$smarty->_dequote($params['scope']) :
'global';
$_global = isset
($params['global']) ?
$smarty->_dequote($params['global']) :
false;
if (!isset
($_file) ||
strlen($_file) ==
0) {
$smarty->trigger_error("missing 'file' attribute in config_load tag", E_USER_ERROR, __FILE__
, __LINE__
);
if ($_scope !=
'local' &&
$smarty->trigger_error("invalid 'scope' attribute value", E_USER_ERROR, __FILE__
, __LINE__
);
$_params =
array('resource_name' =>
$_file,
'resource_base_path' =>
$smarty->config_dir,
$smarty->_parse_resource_name($_params);
$_file_path =
$_params['resource_type'] .
':' .
$_params['resource_name'];
$_compile_file =
$smarty->_get_compile_path($_file_path.
'|'.
$_section);
$_compile_file =
$smarty->_get_compile_path($_file_path);
if($smarty->force_compile ||
!file_exists($_compile_file)) {
} elseif ($smarty->compile_check) {
$_params =
array('resource_name' =>
$_file,
'resource_base_path' =>
$smarty->config_dir,
$_compile =
$smarty->_fetch_resource_info($_params) &&
$_params['resource_timestamp'] >
filemtime($_compile_file);
require_once SMARTY_DIR .
$smarty->config_class .
'.class.php';
$smarty->_conf_obj =
new $smarty->config_class();
$smarty->_conf_obj->overwrite =
$smarty->config_overwrite;
$smarty->_conf_obj->booleanize =
$smarty->config_booleanize;
$smarty->_conf_obj->read_hidden =
$smarty->config_read_hidden;
$smarty->_conf_obj->fix_newlines =
$smarty->config_fix_newlines;
$_params =
array('resource_name' =>
$_file,
'resource_base_path' =>
$smarty->config_dir,
$_params['get_source'] =
true);
if (!$smarty->_fetch_resource_info($_params)) {
$smarty->_conf_obj->set_file_contents($_file, $_params['source_content']);
$_config_vars =
array_merge($smarty->_conf_obj->get($_file),
$smarty->_conf_obj->get($_file, $_section));
$_output =
'<?php $_config_vars = ' .
var_export($_config_vars, true) .
'; ?>';
$_output =
'<?php $_config_vars = unserialize(\'' .
strtr(serialize($_config_vars),array('\''=>
'\\\'', '\\'=>
'\\\\')) .
'\'); ?>';
$_params =
(array('compile_path' =>
$_compile_file, 'compiled_content' =>
$_output, 'resource_timestamp' =>
$_params['resource_timestamp']));
$smarty->_cache_info['config'][$_file] =
true;
$smarty->_config[0]['vars'] =
@array_merge($smarty->_config[0]['vars'], $_config_vars);
$smarty->_config[0]['files'][$_file] =
true;
if ($_scope ==
'parent') {
$smarty->_config[1]['vars'] =
@array_merge($smarty->_config[1]['vars'], $_config_vars);
$smarty->_config[1]['files'][$_file] =
true;
} else if ($_scope ==
'global') {
for ($i =
1, $for_max =
count($smarty->_config); $i <
$for_max; $i++
) {
$smarty->_config[$i]['vars'] =
@array_merge($smarty->_config[$i]['vars'], $_config_vars);
$smarty->_config[$i]['files'][$_file] =
true;
if ($smarty->debugging) {
$smarty->_smarty_debug_info[] =
array('type' =>
'config',
'filename' =>
$_file.
' ['.
$_section.
'] '.
$_scope,
'depth' =>
$smarty->_inclusion_depth,
/* vim: set expandtab: */
Documentation generated on Sun, 09 Mar 2008 23:51:55 -0300 by phpDocumentor 1.4.0