1: <?php
2: /**
3: * Smarty plugin
4: *
5: * @package Smarty
6: * @subpackage PluginsModifierCompiler
7: */
8: /**
9: * Smarty default modifier plugin
10: * Type: modifier
11: * Name: default
12: * Purpose: designate default value for empty variables
13: *
14: * @link http://www.smarty.net/manual/en/language.modifier.default.php default (Smarty online manual)
15: * @author Uwe Tews
16: *
17: * @param array $params parameters
18: *
19: * @return string with compiled code
20: */
21: function smarty_modifiercompiler_default($params)
22: {
23: $output = $params[ 0 ];
24: if (!isset($params[ 1 ])) {
25: $params[ 1 ] = "''";
26: }
27: array_shift($params);
28: foreach ($params as $param) {
29: $output = '(($tmp = @' . $output . ')===null||$tmp===\'\' ? ' . $param . ' : $tmp)';
30: }
31: return $output;
32: }
33: