]> git.mxchange.org Git - friendica.git/blob - vendor/smarty/smarty/libs/sysplugins/smarty_internal_nocache_insert.php
Merge pull request #4229 from annando/database
[friendica.git] / vendor / smarty / smarty / libs / sysplugins / smarty_internal_nocache_insert.php
1 <?php
2 /**
3  * Smarty Internal Plugin Nocache Insert
4  * Compiles the {insert} tag into the cache file
5  *
6  * @package    Smarty
7  * @subpackage Compiler
8  * @author     Uwe Tews
9  */
10
11 /**
12  * Smarty Internal Plugin Compile Insert Class
13  *
14  * @package    Smarty
15  * @subpackage Compiler
16  */
17 class Smarty_Internal_Nocache_Insert
18 {
19     /**
20      * Compiles code for the {insert} tag into cache file
21      *
22      * @param  string                   $_function insert function name
23      * @param  array                    $_attr     array with parameter
24      * @param  Smarty_Internal_Template $_template template object
25      * @param  string                   $_script   script name to load or 'null'
26      * @param  string                   $_assign   optional variable name
27      *
28      * @return string                   compiled code
29      */
30     public static function compile($_function, $_attr, $_template, $_script, $_assign = null)
31     {
32         $_output = '<?php ';
33         if ($_script != 'null') {
34             // script which must be included
35             // code for script file loading
36             $_output .= "require_once '{$_script}';";
37         }
38         // call insert
39         if (isset($_assign)) {
40             $_output .= "\$_smarty_tpl->assign('{$_assign}' , {$_function} (" . var_export($_attr, true) .
41                         ",\$_smarty_tpl), true);?>";
42         } else {
43             $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>";
44         }
45         $_tpl = $_template;
46         while ($_tpl->_isSubTpl()) {
47             $_tpl = $_tpl->parent;
48         }
49
50         return "/*%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/" . $_output .
51                "/*/%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/";
52     }
53 }