diff --git a/library/smarty/libs/plugins/modifiercompiler.default.php b/library/smarty/libs/plugins/modifiercompiler.default.php new file mode 100644 --- /dev/null +++ b/library/smarty/libs/plugins/modifiercompiler.default.php @@ -0,0 +1,34 @@ + + * Name: default
+ * 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; +}