| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?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: */?>
 |