1: <?php
2: 3: 4: 5: 6:
7:
8: 9: 10: 11: 12: 13:
14: function smarty_core_process_cached_inserts($params, &$smarty)
15: {
16: preg_match_all('!'.$smarty->_smarty_md5.'{insert_cache (.*)}'.$smarty->_smarty_md5.'!Uis',
17: $params['results'], $match);
18: list($cached_inserts, $insert_args) = $match;
19:
20: for ($i = 0, $for_max = count($cached_inserts); $i < $for_max; $i++) {
21: if ($smarty->debugging) {
22: $_params = array();
23: require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
24: $debug_start_time = smarty_core_get_microtime($_params, $smarty);
25: }
26:
27: $args = unserialize($insert_args[$i]);
28: $name = $args['name'];
29:
30: if (isset($args['script'])) {
31: $_params = array('resource_name' => $smarty->_dequote($args['script']));
32: require_once(SMARTY_CORE_DIR . 'core.get_php_resource.php');
33: if(!smarty_core_get_php_resource($_params, $smarty)) {
34: return false;
35: }
36: $resource_type = $_params['resource_type'];
37: $php_resource = $_params['php_resource'];
38:
39:
40: if ($resource_type == 'file') {
41: $smarty->_include($php_resource, true);
42: } else {
43: $smarty->_eval($php_resource);
44: }
45: }
46:
47: $function_name = $smarty->_plugins['insert'][$name][0];
48: if (empty($args['assign'])) {
49: $replace = $function_name($args, $smarty);
50: } else {
51: $smarty->assign($args['assign'], $function_name($args, $smarty));
52: $replace = '';
53: }
54:
55: $params['results'] = substr_replace($params['results'], $replace, strpos($params['results'], $cached_inserts[$i]), strlen($cached_inserts[$i]));
56: if ($smarty->debugging) {
57: $_params = array();
58: require_once(SMARTY_CORE_DIR . 'core.get_microtime.php');
59: $smarty->_smarty_debug_info[] = array('type' => 'insert',
60: 'filename' => 'insert_'.$name,
61: 'depth' => $smarty->_inclusion_depth,
62: 'exec_time' => smarty_core_get_microtime($_params, $smarty) - $debug_start_time);
63: }
64: }
65:
66: return $params['results'];
67: }
68:
69:
70:
71: ?>
72: