/[cvs]/nfo/php/libs/net.php.smarty/core/core.process_cached_inserts.php
ViewVC logotype

Annotation of /nfo/php/libs/net.php.smarty/core/core.process_cached_inserts.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Wed Jun 16 21:58:12 2004 UTC (20 years, 1 month ago) by joko
Branch: MAIN
CVS Tags: HEAD
updated to smarty-2.6.3

1 joko 1.1 <?php
2     /**
3     * Smarty plugin
4     * @package Smarty
5     * @subpackage plugins
6     */
7    
8     /**
9     * Replace cached inserts with the actual results
10     *
11     * @param string $results
12     * @return string
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_DIR . 'core' . DIRECTORY_SEPARATOR . '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_DIR . 'core' . DIRECTORY_SEPARATOR . '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'] = str_replace($cached_inserts[$i], $replace, $params['results']);
56     if ($smarty->debugging) {
57     $_params = array();
58     require_once(SMARTY_DIR . 'core' . DIRECTORY_SEPARATOR . '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     /* vim: set expandtab: */
70    
71     ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed