Code

Readded smarty
[gosa.git] / gosa-core / include / smarty / plugins / modifiercompiler.unescape.php
diff --git a/gosa-core/include/smarty/plugins/modifiercompiler.unescape.php b/gosa-core/include/smarty/plugins/modifiercompiler.unescape.php
new file mode 100644 (file)
index 0000000..7e77cb4
--- /dev/null
@@ -0,0 +1,48 @@
+<?php\r
+/**\r
+ * Smarty plugin\r
+ *\r
+ * @package Smarty\r
+ * @subpackage PluginsModifierCompiler\r
+ */\r
+\r
+/**\r
+ * Smarty unescape modifier plugin\r
+ *\r
+ * Type:     modifier<br>\r
+ * Name:     unescape<br>\r
+ * Purpose:  unescape html entities\r
+ *\r
+ * @author Rodney Rehm\r
+ * @param array $params parameters\r
+ * @return string with compiled code\r
+ */\r
+function smarty_modifiercompiler_unescape($params, $compiler)\r
+{\r
+    if (!isset($params[1])) {\r
+        $params[1] = 'html';\r
+    }\r
+    if (!isset($params[2])) {\r
+        $params[2] = "SMARTY_RESOURCE_CHAR_SET";\r
+    } else {\r
+        $params[2] = "'" . $params[2] . "'";\r
+    }\r
+\r
+    switch (trim($params[1], '"\'')) {\r
+        case 'entity':\r
+            return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')';\r
+        case 'htmlall':\r
+            if (SMARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {\r
+                return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')';\r
+            }\r
+            return 'html_entity_decode(' . $params[0] . ', ENT_QUOTES, ' . $params[2] . ')';\r
+\r
+        case 'html':\r
+            return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)';\r
+\r
+        default:\r
+            return $params[0];\r
+    }\r
+}\r
+\r
+?>
\ No newline at end of file