diff options
author | Jesús Eduardo <heckyel@hyperbola.info> | 2017-12-25 16:58:41 -0500 |
---|---|---|
committer | Jesús Eduardo <heckyel@hyperbola.info> | 2017-12-25 16:58:41 -0500 |
commit | 49d54c0c3199fb8e380ce68f8fb08a308ddf56a7 (patch) | |
tree | 87e9be319452d75241476853a3b240aabdcbd7e2 /smarty/plugins/modifiercompiler.unescape.php | |
parent | 6a844225b3b63b89926e136cf65c140df01a4677 (diff) | |
download | ytlibre-49d54c0c3199fb8e380ce68f8fb08a308ddf56a7.tar.lz ytlibre-49d54c0c3199fb8e380ce68f8fb08a308ddf56a7.tar.xz ytlibre-49d54c0c3199fb8e380ce68f8fb08a308ddf56a7.zip |
migración mayor a smarty PHP
Diffstat (limited to 'smarty/plugins/modifiercompiler.unescape.php')
-rw-r--r-- | smarty/plugins/modifiercompiler.unescape.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/smarty/plugins/modifiercompiler.unescape.php b/smarty/plugins/modifiercompiler.unescape.php new file mode 100644 index 0000000..a3409bc --- /dev/null +++ b/smarty/plugins/modifiercompiler.unescape.php @@ -0,0 +1,50 @@ +<?php +/** + * Smarty plugin + * + * @package Smarty + * @subpackage PluginsModifierCompiler + */ + +/** + * Smarty unescape modifier plugin + * Type: modifier<br> + * Name: unescape<br> + * Purpose: unescape html entities + * + * @author Rodney Rehm + * + * @param array $params parameters + * + * @return string with compiled code + */ +function smarty_modifiercompiler_unescape($params) +{ + 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': + case 'htmlall': + if (Smarty::$_MBSTRING) { + return 'mb_convert_encoding(' . $params[ 0 ] . ', ' . $params[ 2 ] . ', \'HTML-ENTITIES\')'; + } + + return 'html_entity_decode(' . $params[ 0 ] . ', ENT_NOQUOTES, ' . $params[ 2 ] . ')'; + + case 'html': + return 'htmlspecialchars_decode(' . $params[ 0 ] . ', ENT_QUOTES)'; + + case 'url': + return 'rawurldecode(' . $params[ 0 ] . ')'; + + default: + return $params[ 0 ]; + } +} |