[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/Smarty/libs/plugins/ -> shared.literal_compiler_param.php (source)

   1  <?php
   2  /**
   3   * Smarty plugin
   4   *
   5   * @package Smarty
   6   * @subpackage PluginsShared
   7   */
   8  
   9  /**
  10   * evaluate compiler parameter
  11   *
  12   * @param array   $params  parameter array as given to the compiler function
  13   * @param integer $index   array index of the parameter to convert
  14   * @param mixed   $default value to be returned if the parameter is not present
  15   * @return mixed evaluated value of parameter or $default
  16   * @throws SmartyException if parameter is not a literal (but an expression, variable, …)
  17   * @author Rodney Rehm
  18   */
  19  function smarty_literal_compiler_param($params, $index, $default=null)
  20  {
  21      // not set, go default
  22      if (!isset($params[$index])) {
  23          return $default;
  24      }
  25      // test if param is a literal
  26      if (!preg_match('/^([\'"]?)[a-zA-Z0-9]+(\\1)$/', $params[$index])) {
  27          throw new SmartyException('$param[' . $index . '] is not a literal and is thus not evaluatable at compile time');
  28      }
  29  
  30      $t = null;
  31      eval("\$t = " . $params[$index] . ";");
  32      return $t;
  33  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1