diff options
Diffstat (limited to 'lib/smarty3/plugins/modifiercompiler.default.php')
-rw-r--r-- | lib/smarty3/plugins/modifiercompiler.default.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/smarty3/plugins/modifiercompiler.default.php b/lib/smarty3/plugins/modifiercompiler.default.php new file mode 100644 index 0000000..2c4c00a --- /dev/null +++ b/lib/smarty3/plugins/modifiercompiler.default.php @@ -0,0 +1,35 @@ +<?php +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifierCompiler + */ + +/** + * Smarty default modifier plugin + * Type: modifier<br> + * Name: default<br> + * Purpose: designate default value for empty variables + * + * @link http://www.smarty.net/manual/en/language.modifier.default.php default (Smarty online manual) + * @author Uwe Tews + * + * @param array $params parameters + * + * @return string with compiled code + */ +function smarty_modifiercompiler_default($params) +{ + $output = $params[ 0 ]; + if (!isset($params[ 1 ])) { + $params[ 1 ] = "''"; + } + + array_shift($params); + foreach ($params as $param) { + $output = '(($tmp = @' . $output . ')===null||$tmp===\'\' ? ' . $param . ' : $tmp)'; + } + + return $output; +} |