summaryrefslogtreecommitdiff
path: root/libs/plugins
diff options
context:
space:
mode:
authorSimon Wisselink <wisskid@users.noreply.github.com>2024-02-26 14:33:47 +0100
committerGitHub <noreply@github.com>2024-02-26 14:33:47 +0100
commitde1bc77f7fad0500a8b654203c72bbb49554f55c (patch)
treea2213dbe1fa06e3bfe9cc4bae0f08aae2e3a2de5 /libs/plugins
parent326b2da8da3cb843de1211d507ba4dea3aa49688 (diff)
downloadsmarty-de1bc77f7fad0500a8b654203c72bbb49554f55c.tar.gz
smarty-de1bc77f7fad0500a8b654203c72bbb49554f55c.tar.bz2
smarty-de1bc77f7fad0500a8b654203c72bbb49554f55c.zip
Prevent deprecation notices for implode, json_encode and substr modifiers
* Prevent deprecation notices for implode, json_encode and substr modifiers. * unit tests
Diffstat (limited to 'libs/plugins')
-rw-r--r--libs/plugins/modifier.implode.php15
-rw-r--r--libs/plugins/modifiercompiler.json_encode.php11
-rw-r--r--libs/plugins/modifiercompiler.substr.php12
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] : '') . ')';
+}