diff options
Diffstat (limited to '')
-rw-r--r-- | include/smarty/libs/plugins/shared.literal_compiler_param.php | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/smarty/libs/plugins/shared.literal_compiler_param.php b/include/smarty/libs/plugins/shared.literal_compiler_param.php index dbcd9374c..47d728a76 100644 --- a/include/smarty/libs/plugins/shared.literal_compiler_param.php +++ b/include/smarty/libs/plugins/shared.literal_compiler_param.php @@ -2,7 +2,7 @@ /** * Smarty plugin * - * @package Smarty + * @package Smarty * @subpackage PluginsShared */ @@ -12,22 +12,24 @@ * @param array $params parameter array as given to the compiler function * @param integer $index array index of the parameter to convert * @param mixed $default value to be returned if the parameter is not present + * * @return mixed evaluated value of parameter or $default * @throws SmartyException if parameter is not a literal (but an expression, variable, …) * @author Rodney Rehm */ -function smarty_literal_compiler_param($params, $index, $default=null) +function smarty_literal_compiler_param($params, $index, $default = null) { // not set, go default if (!isset($params[$index])) { return $default; } // test if param is a literal - if (!preg_match('/^([\'"]?)[a-zA-Z0-9]+(\\1)$/', $params[$index])) { + if (!preg_match('/^([\'"]?)[a-zA-Z0-9-]+(\\1)$/', $params[$index])) { throw new SmartyException('$param[' . $index . '] is not a literal and is thus not evaluatable at compile time'); } $t = null; eval("\$t = " . $params[$index] . ";"); + return $t; } |