gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

smarty_internal_nocache_insert.php (1758B)


      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) . ",\$_smarty_tpl), true);?>";
     41         } else {
     42             $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>";
     43         }
     44         $_tpl = $_template;
     45         while ($_tpl->parent instanceof Smarty_Internal_Template) {
     46             $_tpl = $_tpl->parent;
     47         }
     48 
     49         return "/*%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/" . $_output . "/*/%%SmartyNocache:{$_tpl->properties['nocache_hash']}%%*/";
     50     }
     51 }