]> git.mxchange.org Git - friendica.git/blob - library/Smarty/libs/plugins/modifiercompiler.unescape.php
Merge pull request #1121 from Beanow/hotfix/bug-1105
[friendica.git] / library / Smarty / libs / plugins / modifiercompiler.unescape.php
1 <?php\r
2 /**\r
3  * Smarty plugin\r
4  *\r
5  * @package Smarty\r
6  * @subpackage PluginsModifierCompiler\r
7  */\r
8 \r
9 /**\r
10  * Smarty unescape modifier plugin\r
11  *\r
12  * Type:     modifier<br>\r
13  * Name:     unescape<br>\r
14  * Purpose:  unescape html entities\r
15  *\r
16  * @author Rodney Rehm\r
17  * @param array $params parameters\r
18  * @return string with compiled code\r
19  */\r
20 function smarty_modifiercompiler_unescape($params, $compiler)\r
21 {\r
22     if (!isset($params[1])) {\r
23         $params[1] = 'html';\r
24     }\r
25     if (!isset($params[2])) {\r
26         $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\'';\r
27     } else {\r
28         $params[2] = "'" . $params[2] . "'";\r
29     }\r
30 \r
31     switch (trim($params[1], '"\'')) {\r
32         case 'entity':\r
33         case 'htmlall':\r
34             if (Smarty::$_MBSTRING) {\r
35                 return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')';\r
36             }\r
37 \r
38             return 'html_entity_decode(' . $params[0] . ', ENT_NOQUOTES, ' . $params[2] . ')';\r
39 \r
40         case 'html':\r
41             return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)';\r
42 \r
43         case 'url':\r
44             return 'rawurldecode(' . $params[0] . ')';\r
45 \r
46         default:\r
47             return $params[0];\r
48     }\r
49 }\r
50 \r
51 ?>