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_resource_registered.php (3143B)


      1 <?php
      2 /**
      3  * Smarty Internal Plugin Resource Registered
      4  *
      5  * @package    Smarty
      6  * @subpackage TemplateResources
      7  * @author     Uwe Tews
      8  * @author     Rodney Rehm
      9  */
     10 
     11 /**
     12  * Smarty Internal Plugin Resource Registered
     13  * Implements the registered resource for Smarty template
     14  *
     15  * @package    Smarty
     16  * @subpackage TemplateResources
     17  * @deprecated
     18  */
     19 class Smarty_Internal_Resource_Registered extends Smarty_Resource
     20 {
     21     /**
     22      * populate Source Object with meta data from Resource
     23      *
     24      * @param  Smarty_Template_Source   $source    source object
     25      * @param  Smarty_Internal_Template $_template template object
     26      *
     27      * @return void
     28      */
     29     public function populate(Smarty_Template_Source $source, Smarty_Internal_Template $_template = null)
     30     {
     31         $source->filepath = $source->type . ':' . $source->name;
     32         $source->uid = sha1($source->filepath);
     33         if ($source->smarty->compile_check) {
     34             $source->timestamp = $this->getTemplateTimestamp($source);
     35             $source->exists = !!$source->timestamp;
     36         }
     37     }
     38 
     39     /**
     40      * populate Source Object with timestamp and exists from Resource
     41      *
     42      * @param  Smarty_Template_Source $source source object
     43      *
     44      * @return void
     45      */
     46     public function populateTimestamp(Smarty_Template_Source $source)
     47     {
     48         $source->timestamp = $this->getTemplateTimestamp($source);
     49         $source->exists = !!$source->timestamp;
     50     }
     51 
     52     /**
     53      * Get timestamp (epoch) the template source was modified
     54      *
     55      * @param  Smarty_Template_Source $source source object
     56      *
     57      * @return integer|boolean        timestamp (epoch) the template was modified, false if resources has no timestamp
     58      */
     59     public function getTemplateTimestamp(Smarty_Template_Source $source)
     60     {
     61         // return timestamp
     62         $time_stamp = false;
     63         call_user_func_array($source->smarty->registered_resources[$source->type][0][1], array($source->name, &$time_stamp, $source->smarty));
     64 
     65         return is_numeric($time_stamp) ? (int) $time_stamp : $time_stamp;
     66     }
     67 
     68     /**
     69      * Load template's source by invoking the registered callback into current template object
     70      *
     71      * @param  Smarty_Template_Source $source source object
     72      *
     73      * @return string                 template source
     74      * @throws SmartyException        if source cannot be loaded
     75      */
     76     public function getContent(Smarty_Template_Source $source)
     77     {
     78         // return template string
     79         $t = call_user_func_array($source->smarty->registered_resources[$source->type][0][0], array($source->name, &$source->content, $source->smarty));
     80         if (is_bool($t) && !$t) {
     81             throw new SmartyException("Unable to read template {$source->type} '{$source->name}'");
     82         }
     83 
     84         return $source->content;
     85     }
     86 
     87     /**
     88      * Determine basename for compiled filename
     89      *
     90      * @param  Smarty_Template_Source $source source object
     91      *
     92      * @return string                 resource's basename
     93      */
     94     public function getBasename(Smarty_Template_Source $source)
     95     {
     96         return basename($source->name);
     97     }
     98 }