]> git.mxchange.org Git - friendica.git/blobdiff - library/Smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php
reverting tinymce changes, updating smarty to 3.1.19
[friendica.git] / library / Smarty / libs / sysplugins / smarty_internal_compile_private_modifier.php
index 120f3ff10b8b7f76caeb8af9f6ced574f653e2bd..ba03bfcfad54eec847d4484aad1d3d75928328ca 100644 (file)
-<?php\r
-\r
-/**\r
- * Smarty Internal Plugin Compile Modifier\r
- *\r
- * Compiles code for modifier execution\r
- *\r
- * @package Smarty\r
- * @subpackage Compiler\r
- * @author Uwe Tews\r
- */\r
-\r
-/**\r
- * Smarty Internal Plugin Compile Modifier Class\r
- *\r
- * @package Smarty\r
- * @subpackage Compiler\r
- */\r
-class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBase {\r
-\r
-    /**\r
-     * Compiles code for modifier execution\r
-     *\r
-     * @param array  $args      array with attributes from parser\r
-     * @param object $compiler  compiler object\r
-     * @param array  $parameter array with compilation parameter\r
-     * @return string compiled code\r
-     */\r
-    public function compile($args, $compiler, $parameter) {\r
-        // check and get attributes\r
-        $_attr = $this->getAttributes($compiler, $args);\r
-        $output = $parameter['value'];\r
-        // loop over list of modifiers\r
-        foreach ($parameter['modifierlist'] as $single_modifier) {\r
-            $modifier = $single_modifier[0];\r
-            $single_modifier[0] = $output;\r
-            $params = implode(',', $single_modifier);\r
-            // check if we know already the type of modifier\r
-            if (isset($compiler->known_modifier_type[$modifier])) {\r
-                $modifier_types = array($compiler->known_modifier_type[$modifier]);\r
-            } else {\r
-                $modifier_types = array(1, 2, 3, 4, 5, 6);\r
-            }\r
-            foreach ($modifier_types as $type) {\r
-                switch ($type) {\r
-                    case 1:\r
-                        // registered modifier\r
-                        if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier])) {\r
-                            $function = $compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];\r
-                            if (!is_array($function)) {\r
-                                $output = "{$function}({$params})";\r
-                            } else {\r
-                                if (is_object($function[0])) {\r
-                                    $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';\r
-                                } else {\r
-                                    $output = $function[0] . '::' . $function[1] . '(' . $params . ')';\r
-                                }\r
-                            }\r
-                            $compiler->known_modifier_type[$modifier] = $type;\r
-                            break 2;\r
-                        }\r
-                        break;\r
-                    case 2:\r
-                        // registered modifier compiler\r
-                        if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0])) {\r
-                            $output = call_user_func($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0], $single_modifier, $compiler->smarty);\r
-                            $compiler->known_modifier_type[$modifier] = $type;\r
-                            break 2;\r
-                        }\r
-                        break;\r
-                    case 3:\r
-                        // modifiercompiler plugin\r
-                        if ($compiler->smarty->loadPlugin('smarty_modifiercompiler_' . $modifier)) {\r
-                            // check if modifier allowed\r
-                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {\r
-                                $plugin = 'smarty_modifiercompiler_' . $modifier;\r
-                                $output = $plugin($single_modifier, $compiler);\r
-                            }\r
-                            $compiler->known_modifier_type[$modifier] = $type;\r
-                            break 2;\r
-                        }\r
-                        break;\r
-                    case 4:\r
-                        // modifier plugin\r
-                        if ($function = $compiler->getPlugin($modifier, Smarty::PLUGIN_MODIFIER)) {\r
-                            // check if modifier allowed\r
-                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {\r
-                                $output = "{$function}({$params})";\r
-                            }\r
-                            $compiler->known_modifier_type[$modifier] = $type;\r
-                            break 2;\r
-                        }\r
-                        break;\r
-                    case 5:\r
-                        // PHP function\r
-                        if (is_callable($modifier)) {\r
-                            // check if modifier allowed\r
-                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler)) {\r
-                                $output = "{$modifier}({$params})";\r
-                            }\r
-                            $compiler->known_modifier_type[$modifier] = $type;\r
-                            break 2;\r
-                        }\r
-                        break;\r
-                    case 6:\r
-                        // default plugin handler\r
-                        if (isset($compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier]) || (is_callable($compiler->smarty->default_plugin_handler_func) && $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER))) {\r
-                            $function = $compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];\r
-                            // check if modifier allowed\r
-                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {\r
-                                if (!is_array($function)) {\r
-                                    $output = "{$function}({$params})";\r
-                                } else {\r
-                                    if (is_object($function[0])) {\r
-                                        $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';\r
-                                    } else {\r
-                                        $output = $function[0] . '::' . $function[1] . '(' . $params . ')';\r
-                                    }\r
-                                }\r
-                            }\r
-                            if (isset($compiler->template->required_plugins['nocache'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) || isset($compiler->template->required_plugins['compiled'][$modifier][Smarty::PLUGIN_MODIFIER]['file'])) {\r
-                                // was a plugin\r
-                                $compiler->known_modifier_type[$modifier] = 4;\r
-                            } else {\r
-                                $compiler->known_modifier_type[$modifier] = $type;\r
-                            }\r
-                            break 2;\r
-                        }\r
-                }\r
-            }\r
-            if (!isset($compiler->known_modifier_type[$modifier])) {\r
-                $compiler->trigger_template_error("unknown modifier \"" . $modifier . "\"", $compiler->lex->taglineno);\r
-            }\r
-        }\r
-        return $output;\r
-    }\r
-\r
-}\r
-\r
-?>
\ No newline at end of file
+<?php
+
+/**
+ * Smarty Internal Plugin Compile Modifier
+ * Compiles code for modifier execution
+ *
+ * @package    Smarty
+ * @subpackage Compiler
+ * @author     Uwe Tews
+ */
+
+/**
+ * Smarty Internal Plugin Compile Modifier Class
+ *
+ * @package    Smarty
+ * @subpackage Compiler
+ */
+class Smarty_Internal_Compile_Private_Modifier extends Smarty_Internal_CompileBase
+{
+    /**
+     * Compiles code for modifier execution
+     *
+     * @param  array  $args      array with attributes from parser
+     * @param  object $compiler  compiler object
+     * @param  array  $parameter array with compilation parameter
+     *
+     * @return string compiled code
+     */
+    public function compile($args, $compiler, $parameter)
+    {
+        // check and get attributes
+        $_attr = $this->getAttributes($compiler, $args);
+        $output = $parameter['value'];
+        // loop over list of modifiers
+        foreach ($parameter['modifierlist'] as $single_modifier) {
+            $modifier = $single_modifier[0];
+            $single_modifier[0] = $output;
+            $params = implode(',', $single_modifier);
+            // check if we know already the type of modifier
+            if (isset($compiler->known_modifier_type[$modifier])) {
+                $modifier_types = array($compiler->known_modifier_type[$modifier]);
+            } else {
+                $modifier_types = array(1, 2, 3, 4, 5, 6);
+            }
+            foreach ($modifier_types as $type) {
+                switch ($type) {
+                    case 1:
+                        // registered modifier
+                        if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier])) {
+                            $function = $compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];
+                            if (!is_array($function)) {
+                                $output = "{$function}({$params})";
+                            } else {
+                                if (is_object($function[0])) {
+                                    $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';
+                                } else {
+                                    $output = $function[0] . '::' . $function[1] . '(' . $params . ')';
+                                }
+                            }
+                            $compiler->known_modifier_type[$modifier] = $type;
+                            break 2;
+                        }
+                        break;
+                    case 2:
+                        // registered modifier compiler
+                        if (isset($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0])) {
+                            $output = call_user_func($compiler->smarty->registered_plugins[Smarty::PLUGIN_MODIFIERCOMPILER][$modifier][0], $single_modifier, $compiler->smarty);
+                            $compiler->known_modifier_type[$modifier] = $type;
+                            break 2;
+                        }
+                        break;
+                    case 3:
+                        // modifiercompiler plugin
+                        if ($compiler->smarty->loadPlugin('smarty_modifiercompiler_' . $modifier)) {
+                            // check if modifier allowed
+                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
+                                $plugin = 'smarty_modifiercompiler_' . $modifier;
+                                $output = $plugin($single_modifier, $compiler);
+                            }
+                            $compiler->known_modifier_type[$modifier] = $type;
+                            break 2;
+                        }
+                        break;
+                    case 4:
+                        // modifier plugin
+                        if ($function = $compiler->getPlugin($modifier, Smarty::PLUGIN_MODIFIER)) {
+                            // check if modifier allowed
+                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
+                                $output = "{$function}({$params})";
+                            }
+                            $compiler->known_modifier_type[$modifier] = $type;
+                            break 2;
+                        }
+                        break;
+                    case 5:
+                        // PHP function
+                        if (is_callable($modifier)) {
+                            // check if modifier allowed
+                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedPhpModifier($modifier, $compiler)) {
+                                $output = "{$modifier}({$params})";
+                            }
+                            $compiler->known_modifier_type[$modifier] = $type;
+                            break 2;
+                        }
+                        break;
+                    case 6:
+                        // default plugin handler
+                        if (isset($compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier]) || (is_callable($compiler->smarty->default_plugin_handler_func) && $compiler->getPluginFromDefaultHandler($modifier, Smarty::PLUGIN_MODIFIER))) {
+                            $function = $compiler->default_handler_plugins[Smarty::PLUGIN_MODIFIER][$modifier][0];
+                            // check if modifier allowed
+                            if (!is_object($compiler->smarty->security_policy) || $compiler->smarty->security_policy->isTrustedModifier($modifier, $compiler)) {
+                                if (!is_array($function)) {
+                                    $output = "{$function}({$params})";
+                                } else {
+                                    if (is_object($function[0])) {
+                                        $output = '$_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_MODIFIER][\'' . $modifier . '\'][0][0]->' . $function[1] . '(' . $params . ')';
+                                    } else {
+                                        $output = $function[0] . '::' . $function[1] . '(' . $params . ')';
+                                    }
+                                }
+                            }
+                            if (isset($compiler->template->required_plugins['nocache'][$modifier][Smarty::PLUGIN_MODIFIER]['file']) || isset($compiler->template->required_plugins['compiled'][$modifier][Smarty::PLUGIN_MODIFIER]['file'])) {
+                                // was a plugin
+                                $compiler->known_modifier_type[$modifier] = 4;
+                            } else {
+                                $compiler->known_modifier_type[$modifier] = $type;
+                            }
+                            break 2;
+                        }
+                }
+            }
+            if (!isset($compiler->known_modifier_type[$modifier])) {
+                $compiler->trigger_template_error("unknown modifier \"" . $modifier . "\"", $compiler->lex->taglineno);
+            }
+        }
+
+        return $output;
+    }
+}