[ Index ]
 

Code source de XOOPS 2.0.17.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/htdocs/class/smarty/internals/ -> core.process_cached_inserts.php (source)

   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_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  /* vim: set expandtab: */
  70  
  71  ?>


Généré le : Sun Nov 25 11:44:32 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics