From 51609351f2c4b5082b7e6f0744cd3811c325303f Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 11 Oct 2016 14:01:29 +0200 Subject: * initial template --- lib/smarty/plugins/modifiercompiler.unescape.php | 48 ++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lib/smarty/plugins/modifiercompiler.unescape.php (limited to 'lib/smarty/plugins/modifiercompiler.unescape.php') diff --git a/lib/smarty/plugins/modifiercompiler.unescape.php b/lib/smarty/plugins/modifiercompiler.unescape.php new file mode 100644 index 0000000..ce0bd63 --- /dev/null +++ b/lib/smarty/plugins/modifiercompiler.unescape.php @@ -0,0 +1,48 @@ + + * Name: unescape
+ * Purpose: unescape html entities + * + * @author Rodney Rehm + * @param array $params parameters + * @return string with compiled code + */ +function smarty_modifiercompiler_unescape($params, $compiler) +{ + if (!isset($params[1])) { + $params[1] = 'html'; + } + if (!isset($params[2])) { + $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\''; + } else { + $params[2] = "'" . $params[2] . "'"; + } + + switch (trim($params[1], '"\'')) { + case 'entity': + return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; + case 'htmlall': + if (Smarty::$_MBSTRING) { + return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; + } + return 'html_entity_decode(' . $params[0] . ', ENT_QUOTES, ' . $params[2] . ')'; + + case 'html': + return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)'; + + default: + return $params[0]; + } +} + +?> \ No newline at end of file -- cgit v1.2.3