--- /dev/null
+<?php\r
+/**\r
+ * Smarty Internal Plugin Nocache Insert\r
+ *\r
+ * Compiles the {insert} tag into the cache file\r
+ *\r
+ * @package Smarty\r
+ * @subpackage Compiler\r
+ * @author Uwe Tews\r
+ */\r
+\r
+/**\r
+ * Smarty Internal Plugin Compile Insert Class\r
+ *\r
+ * @package Smarty\r
+ * @subpackage Compiler\r
+ */\r
+class Smarty_Internal_Nocache_Insert {\r
+\r
+ /**\r
+ * Compiles code for the {insert} tag into cache file\r
+ *\r
+ * @param string $_function insert function name\r
+ * @param array $_attr array with parameter\r
+ * @param Smarty_Internal_Template $_template template object\r
+ * @param string $_script script name to load or 'null'\r
+ * @param string $_assign optional variable name\r
+ * @return string compiled code\r
+ */\r
+ public static function compile($_function, $_attr, $_template, $_script, $_assign = null)\r
+ {\r
+ $_output = '<?php ';\r
+ if ($_script != 'null') {\r
+ // script which must be included\r
+ // code for script file loading\r
+ $_output .= "require_once '{$_script}';";\r
+ }\r
+ // call insert\r
+ if (isset($_assign)) {\r
+ $_output .= "\$_smarty_tpl->assign('{$_assign}' , {$_function} (" . var_export($_attr, true) . ",\$_smarty_tpl), true);?>";\r
+ } else {\r
+ $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>";\r
+ }\r
+ $_tpl = $_template;\r
+ while ($_tpl->parent instanceof Smarty_Internal_Template) {\r
+ $_tpl = $_tpl->parent;\r
+ }\r
+ return "/*%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/" . $_output . "/*/%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/";\r
+ }\r
+\r
+}\r
+\r
+?>\r