diff options
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/plugins/modifier.implode.php | 15 | ||||
| -rw-r--r-- | libs/plugins/modifiercompiler.json_encode.php | 11 | ||||
| -rw-r--r-- | libs/plugins/modifiercompiler.substr.php | 12 |
3 files changed, 38 insertions, 0 deletions
diff --git a/libs/plugins/modifier.implode.php b/libs/plugins/modifier.implode.php new file mode 100644 index 00000000..679d71d7 --- /dev/null +++ b/libs/plugins/modifier.implode.php @@ -0,0 +1,15 @@ +<?php +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifier + */ + +function smarty_modifier_implode($values, $separator = '') +{ + if (is_array($separator)) { + return implode((string) ($values ?? ''), (array) $separator); + } + return implode((string) ($separator ?? ''), (array) $values); +} diff --git a/libs/plugins/modifiercompiler.json_encode.php b/libs/plugins/modifiercompiler.json_encode.php new file mode 100644 index 00000000..629277f2 --- /dev/null +++ b/libs/plugins/modifiercompiler.json_encode.php @@ -0,0 +1,11 @@ +<?php + +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifierCompiler + */ +function smarty_modifiercompiler_json_encode($params) { + return 'json_encode(' . $params[0] . (isset($params[1]) ? ', (int) ' . $params[1] : '') . ')'; +} diff --git a/libs/plugins/modifiercompiler.substr.php b/libs/plugins/modifiercompiler.substr.php new file mode 100644 index 00000000..17721f52 --- /dev/null +++ b/libs/plugins/modifiercompiler.substr.php @@ -0,0 +1,12 @@ +<?php + +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifierCompiler + */ +function smarty_modifiercompiler_substr($params) { + return 'substr((string) ' . $params[0] . ', (int) ' . $params[1] . + (isset($params[2]) ? ', (int) ' . $params[2] : '') . ')'; +} |
