mirror of
https://e.coding.net/circlecloud/MinecraftAccount.git
synced 2025-11-25 21:36:08 +00:00
76
ThinkPHP/Library/Vendor/TemplateLite/internal/template.config_loader.php
vendored
Normal file
76
ThinkPHP/Library/Vendor/TemplateLite/internal/template.config_loader.php
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
/**
|
||||
* Template Lite config_load template internal module
|
||||
*
|
||||
* Type: template
|
||||
* Name: config_load
|
||||
*/
|
||||
|
||||
$this->_config_module_loaded = true;
|
||||
$this->template_dir = $this->_get_dir($this->template_dir);
|
||||
$this->config_dir = $this->_get_dir($this->config_dir);
|
||||
$this->compile_dir = $this->_get_dir($this->compile_dir);
|
||||
$name = ($this->encode_file_name) ? md5($this->template_dir . $file . $section_name . $var_name).'.php' : str_replace(".", "_", str_replace("/", "_", $file."_".$section_name."_".$var_name)).'.php';
|
||||
|
||||
if ($this->debugging)
|
||||
{
|
||||
$debug_start_time = array_sum(explode(' ', microtime()));
|
||||
}
|
||||
|
||||
if ($this->cache)
|
||||
{
|
||||
array_push($this->_cache_info['config'], $file);
|
||||
}
|
||||
|
||||
if (!$this->force_compile && file_exists($this->compile_dir.'c_'.$name) && (filemtime($this->compile_dir.'c_'.$name) > filemtime($this->config_dir.$file)))
|
||||
{
|
||||
include($this->compile_dir.'c_'.$name);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!is_object($this->_config_obj))
|
||||
{
|
||||
require_once(TEMPLATE_LITE_DIR . "class.config.php");
|
||||
$this->_config_obj = new $this->config_class;
|
||||
$this->_config_obj->overwrite = $this->config_overwrite;
|
||||
$this->_config_obj->booleanize = $this->config_booleanize;
|
||||
$this->_config_obj->fix_new_lines = $this->config_fix_new_lines;
|
||||
$this->_config_obj->read_hidden = $this->config_read_hidden;
|
||||
}
|
||||
|
||||
if (!($_result = $this->_config_obj->config_load($this->config_dir.$file, $section_name, $var_name)))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!empty($var_name) || !empty($section_name))
|
||||
{
|
||||
$output = "\$this->_confs = " . var_export($_result, true) . ";";
|
||||
}
|
||||
else
|
||||
{
|
||||
// must shift of the bottom level of the array to get rid of the section labels
|
||||
$_temp = array();
|
||||
foreach($_result as $value)
|
||||
{
|
||||
$_temp = array_merge($_temp, $value);
|
||||
}
|
||||
$output = "\$this->_confs = " . var_export($_temp, true) . ";";
|
||||
}
|
||||
|
||||
$f = fopen($this->compile_dir.'c_'.$name, "w");
|
||||
fwrite($f, '<?php ' . $output . ' ?>');
|
||||
fclose($f);
|
||||
eval($output);
|
||||
|
||||
if ($this->debugging)
|
||||
{
|
||||
$this->_templatelite_debug_info[] = array('type' => 'config',
|
||||
'filename' => $file.' ['.$section_name.'] '.$var_name,
|
||||
'depth' => 0,
|
||||
'exec_time' => array_sum(explode(' ', microtime())) - $debug_start_time );
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user