mirror of
				https://github.com/avecms/AVE.cms.git
				synced 2025-10-31 05:36:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Smarty plugin
 | |
|  * @package Smarty
 | |
|  * @subpackage plugins
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Handle insert tags
 | |
|  *
 | |
|  * @param array $args
 | |
|  * @return string
 | |
|  */
 | |
| function smarty_core_run_insert_handler($params, &$smarty)
 | |
| {
 | |
| 
 | |
|     require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
 | |
|     if ($smarty->debugging) {
 | |
|         $_params = array();
 | |
|         $_debug_start_time = smarty_core_get_microtime($_params, $smarty);
 | |
|     }
 | |
| 
 | |
|     if ($smarty->caching) {
 | |
|         $_arg_string = serialize($params['args']);
 | |
|         $_name = $params['args']['name'];
 | |
|         if (!isset($smarty->_cache_info['insert_tags'][$_name])) {
 | |
|             $smarty->_cache_info['insert_tags'][$_name] = array('insert',
 | |
|                                                              $_name,
 | |
|                                                              $smarty->_plugins['insert'][$_name][1],
 | |
|                                                              $smarty->_plugins['insert'][$_name][2],
 | |
|                                                              !empty($params['args']['script']) ? true : false);
 | |
|         }
 | |
|         return $smarty->_smarty_md5."{insert_cache $_arg_string}".$smarty->_smarty_md5;
 | |
|     } else {
 | |
|         if (isset($params['args']['script'])) {
 | |
|             $_params = array('resource_name' => $smarty->_dequote($params['args']['script']));
 | |
|             require_once(SMARTY_CORE_DIR . 'core.get_php_resource.php');
 | |
|             if(!smarty_core_get_php_resource($_params, $smarty)) {
 | |
|                 return false;
 | |
|             }
 | |
| 
 | |
|             if ($_params['resource_type'] == 'file') {
 | |
|                 $smarty->_include($_params['php_resource'], true);
 | |
|             } else {
 | |
|                 $smarty->_eval($_params['php_resource']);
 | |
|             }
 | |
|             unset($params['args']['script']);
 | |
|         }
 | |
| 
 | |
|         $_funcname = $smarty->_plugins['insert'][$params['args']['name']][0];
 | |
|         $_content = $_funcname($params['args'], $smarty);
 | |
|         if ($smarty->debugging) {
 | |
|             $_params = array();
 | |
|             require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
 | |
|             $smarty->_smarty_debug_info[] = array('type'      => 'insert',
 | |
|                                                 'filename'  => 'insert_'.$params['args']['name'],
 | |
|                                                 'depth'     => $smarty->_inclusion_depth,
 | |
|                                                 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $_debug_start_time);
 | |
|         }
 | |
| 
 | |
|         if (!empty($params['args']["assign"])) {
 | |
|             $smarty->assign($params['args']["assign"], $_content);
 | |
|         } else {
 | |
|             return $_content;
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| /* vim: set expandtab: */
 | |
| 
 | |
| ?>
 |