]> git.mxchange.org Git - friendica.git/blobdiff - library/Smarty/libs/sysplugins/smarty_cacheresource.php
networkheader: do css work the other supported themes
[friendica.git] / library / Smarty / libs / sysplugins / smarty_cacheresource.php
index ca18add5e971409f2ce6c6c3f78f8326724da7a4..667bee44ffe06893cb213290408f1c88c8faf080 100644 (file)
 <?php
 /**
-* Smarty Internal Plugin
-*
-* @package Smarty
-* @subpackage Cacher
-*/
+ * Smarty Internal Plugin
+ *
+ * @package    Smarty
+ * @subpackage Cacher
+ */
 
 /**
-* Cache Handler API
-*
-* @package Smarty
-* @subpackage Cacher
-* @author Rodney Rehm
-*/
-abstract class Smarty_CacheResource {
+ * Cache Handler API
+ *
+ * @package    Smarty
+ * @subpackage Cacher
+ * @author     Rodney Rehm
+ */
+abstract class Smarty_CacheResource
+{
     /**
-    * cache for Smarty_CacheResource instances
-    * @var array
-    */
+     * cache for Smarty_CacheResource instances
+     *
+     * @var array
+     */
     public static $resources = array();
 
     /**
-    * resource types provided by the core
-    * @var array
-    */
+     * resource types provided by the core
+     *
+     * @var array
+     */
     protected static $sysplugins = array(
         'file' => true,
     );
 
     /**
-    * populate Cached Object with meta data from Resource
-    *
-    * @param Smarty_Template_Cached $cached cached object
-    * @param Smarty_Internal_Template $_template template object
-    * @return void
-    */
-    public abstract function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template);
+     * populate Cached Object with meta data from Resource
+     *
+     * @param Smarty_Template_Cached   $cached    cached object
+     * @param Smarty_Internal_Template $_template template object
+     *
+     * @return void
+     */
+    abstract public function populate(Smarty_Template_Cached $cached, Smarty_Internal_Template $_template);
 
     /**
-    * populate Cached Object with timestamp and exists from Resource
-    *
-    * @param Smarty_Template_Cached $source cached object
-    * @return void
-    */
-    public abstract function populateTimestamp(Smarty_Template_Cached $cached);
+     * populate Cached Object with timestamp and exists from Resource
+     *
+     * @param Smarty_Template_Cached $cached
+     *
+     * @return void
+     */
+    abstract public function populateTimestamp(Smarty_Template_Cached $cached);
 
     /**
-    * Read the cached template and process header
-    *
-    * @param Smarty_Internal_Template $_template template object
-    * @param Smarty_Template_Cached $cached cached object
-    * @return booelan true or false if the cached content does not exist
-    */
-    public abstract function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached=null);
+     * Read the cached template and process header
+     *
+     * @param Smarty_Internal_Template $_template template object
+     * @param Smarty_Template_Cached   $cached    cached object
+     *
+     * @return boolean true or false if the cached content does not exist
+     */
+    abstract public function process(Smarty_Internal_Template $_template, Smarty_Template_Cached $cached = null);
 
     /**
-    * Write the rendered template output to cache
-    *
-    * @param Smarty_Internal_Template $_template template object
-    * @param string $content content to cache
-    * @return boolean success
-    */
-    public abstract function writeCachedContent(Smarty_Internal_Template $_template, $content);
+     * Write the rendered template output to cache
+     *
+     * @param Smarty_Internal_Template $_template template object
+     * @param string                   $content   content to cache
+     *
+     * @return boolean success
+     */
+    abstract public function writeCachedContent(Smarty_Internal_Template $_template, $content);
 
     /**
-    * Return cached content
-    *
-    * @param Smarty_Internal_Template $_template template object
-    * @param string $content content of cache
-    */
+     * Return cached content
+     *
+     * @param Smarty_Internal_Template $_template template object
+     *
+     * @return null|string
+     */
     public function getCachedContent(Smarty_Internal_Template $_template)
     {
         if ($_template->cached->handler->process($_template)) {
             ob_start();
             $_template->properties['unifunc']($_template);
+
             return ob_get_clean();
         }
+
         return null;
     }
 
     /**
-    * Empty cache
-    *
-    * @param Smarty $smarty Smarty object
-    * @param integer $exp_time expiration time (number of seconds, not timestamp)
-    * @return integer number of cache files deleted
-    */
-    public abstract function clearAll(Smarty $smarty, $exp_time=null);
+     * Empty cache
+     *
+     * @param Smarty  $smarty   Smarty object
+     * @param integer $exp_time expiration time (number of seconds, not timestamp)
+     *
+     * @return integer number of cache files deleted
+     */
+    abstract public function clearAll(Smarty $smarty, $exp_time = null);
 
     /**
-    * Empty cache for a specific template
-    *
-    * @param Smarty $smarty Smarty object
-    * @param string $resource_name template name
-    * @param string $cache_id cache id
-    * @param string $compile_id compile id
-    * @param integer $exp_time expiration time (number of seconds, not timestamp)
-    * @return integer number of cache files deleted
-    */
-    public abstract function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time);
-
+     * Empty cache for a specific template
+     *
+     * @param Smarty  $smarty        Smarty object
+     * @param string  $resource_name template name
+     * @param string  $cache_id      cache id
+     * @param string  $compile_id    compile id
+     * @param integer $exp_time      expiration time (number of seconds, not timestamp)
+     *
+     * @return integer number of cache files deleted
+     */
+    abstract public function clear(Smarty $smarty, $resource_name, $cache_id, $compile_id, $exp_time);
 
+    /**
+     * @param Smarty                 $smarty
+     * @param Smarty_Template_Cached $cached
+     *
+     * @return bool|null
+     */
     public function locked(Smarty $smarty, Smarty_Template_Cached $cached)
     {
         // theoretically locking_timeout should be checked against time_limit (max_execution_time)
@@ -114,35 +131,61 @@ abstract class Smarty_CacheResource {
             }
             sleep(1);
         }
+
         return $hadLock;
     }
 
+    /**
+     * Check is cache is locked for this template
+     *
+     * @param Smarty                 $smarty
+     * @param Smarty_Template_Cached $cached
+     *
+     * @return bool
+     */
     public function hasLock(Smarty $smarty, Smarty_Template_Cached $cached)
     {
         // check if lock exists
         return false;
     }
 
+    /**
+     * Lock cache for this template
+     *
+     * @param Smarty                 $smarty
+     * @param Smarty_Template_Cached $cached
+     *
+     * @return bool
+     */
     public function acquireLock(Smarty $smarty, Smarty_Template_Cached $cached)
     {
         // create lock
         return true;
     }
 
+    /**
+     * Unlock cache for this template
+     *
+     * @param Smarty                 $smarty
+     * @param Smarty_Template_Cached $cached
+     *
+     * @return bool
+     */
     public function releaseLock(Smarty $smarty, Smarty_Template_Cached $cached)
     {
         // release lock
         return true;
     }
 
-
     /**
-    * Load Cache Resource Handler
-    *
-    * @param Smarty $smarty Smarty object
-    * @param string $type name of the cache resource
-    * @return Smarty_CacheResource Cache Resource Handler
-    */
+     * Load Cache Resource Handler
+     *
+     * @param Smarty $smarty Smarty object
+     * @param string $type   name of the cache resource
+     *
+     * @throws SmartyException
+     * @return Smarty_CacheResource Cache Resource Handler
+     */
     public static function load(Smarty $smarty, $type = null)
     {
         if (!isset($type)) {
@@ -153,7 +196,7 @@ abstract class Smarty_CacheResource {
         if (isset($smarty->_cacheresource_handlers[$type])) {
             return $smarty->_cacheresource_handlers[$type];
         }
-        
+
         // try registered resource
         if (isset($smarty->registered_cache_resources[$type])) {
             // do not cache these instances as they may vary from instance to instance
@@ -165,6 +208,7 @@ abstract class Smarty_CacheResource {
                 $cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type);
                 self::$resources[$type] = new $cache_resource_class();
             }
+
             return $smarty->_cacheresource_handlers[$type] = self::$resources[$type];
         }
         // try plugins dir
@@ -173,6 +217,7 @@ abstract class Smarty_CacheResource {
             if (!isset(self::$resources[$type])) {
                 self::$resources[$type] = new $cache_resource_class();
             }
+
             return $smarty->_cacheresource_handlers[$type] = self::$resources[$type];
         }
         // give up
@@ -180,10 +225,10 @@ abstract class Smarty_CacheResource {
     }
 
     /**
-    * Invalid Loaded Cache Files
-    *
-    * @param Smarty $smarty Smarty object
-    */
+     * Invalid Loaded Cache Files
+     *
+     * @param Smarty $smarty Smarty object
+     */
     public static function invalidLoadedCache(Smarty $smarty)
     {
         foreach ($smarty->template_objects as $tpl) {
@@ -196,92 +241,104 @@ abstract class Smarty_CacheResource {
 }
 
 /**
-* Smarty Resource Data Object
-*
-* Cache Data Container for Template Files
-*
-* @package Smarty
-* @subpackage TemplateResources
-* @author Rodney Rehm
-*/
-class Smarty_Template_Cached {
+ * Smarty Resource Data Object
+ * Cache Data Container for Template Files
+ *
+ * @package    Smarty
+ * @subpackage TemplateResources
+ * @author     Rodney Rehm
+ */
+class Smarty_Template_Cached
+{
     /**
-    * Source Filepath
-    * @var string
-    */
+     * Source Filepath
+     *
+     * @var string
+     */
     public $filepath = false;
 
     /**
-    * Source Content
-    * @var string
-    */
+     * Source Content
+     *
+     * @var string
+     */
     public $content = null;
 
     /**
-    * Source Timestamp
-    * @var integer
-    */
+     * Source Timestamp
+     *
+     * @var integer
+     */
     public $timestamp = false;
 
     /**
-    * Source Existance
-    * @var boolean
-    */
+     * Source Existence
+     *
+     * @var boolean
+     */
     public $exists = false;
 
     /**
-    * Cache Is Valid
-    * @var boolean
-    */
+     * Cache Is Valid
+     *
+     * @var boolean
+     */
     public $valid = false;
 
     /**
-    * Cache was processed
-    * @var boolean
-    */
+     * Cache was processed
+     *
+     * @var boolean
+     */
     public $processed = false;
 
     /**
-    * CacheResource Handler
-    * @var Smarty_CacheResource
-    */
+     * CacheResource Handler
+     *
+     * @var Smarty_CacheResource
+     */
     public $handler = null;
 
     /**
-    * Template Compile Id (Smarty_Internal_Template::$compile_id)
-    * @var string
-    */
+     * Template Compile Id (Smarty_Internal_Template::$compile_id)
+     *
+     * @var string
+     */
     public $compile_id = null;
 
     /**
-    * Template Cache Id (Smarty_Internal_Template::$cache_id)
-    * @var string
-    */
+     * Template Cache Id (Smarty_Internal_Template::$cache_id)
+     *
+     * @var string
+     */
     public $cache_id = null;
 
     /**
-    * Id for cache locking
-    * @var string
-    */
+     * Id for cache locking
+     *
+     * @var string
+     */
     public $lock_id = null;
 
     /**
-    * flag that cache is locked by this instance
-    * @var bool
-    */
+     * flag that cache is locked by this instance
+     *
+     * @var bool
+     */
     public $is_locked = false;
 
     /**
-    * Source Object
-    * @var Smarty_Template_Source
-    */
+     * Source Object
+     *
+     * @var Smarty_Template_Source
+     */
     public $source = null;
 
     /**
-    * create Cached Object container
-    *
-    * @param Smarty_Internal_Template $_template template object
-    */
+     * create Cached Object container
+     *
+     * @param Smarty_Internal_Template $_template template object
+     */
     public function __construct(Smarty_Internal_Template $_template)
     {
         $this->compile_id = $_template->compile_id;
@@ -300,6 +357,7 @@ class Smarty_Template_Cached {
         //
         if (!($_template->caching == Smarty::CACHING_LIFETIME_CURRENT || $_template->caching == Smarty::CACHING_LIFETIME_SAVED) || $_template->source->recompiled) {
             $handler->populate($this, $_template);
+
             return;
         }
         while (true) {
@@ -328,7 +386,7 @@ class Smarty_Template_Cached {
                     if ($smarty->debugging) {
                         Smarty_Internal_Debug::start_cache($_template);
                     }
-                    if($handler->process($_template, $this) === false) {
+                    if ($handler->process($_template, $this) === false) {
                         $this->valid = false;
                     } else {
                         $this->processed = true;
@@ -347,6 +405,7 @@ class Smarty_Template_Cached {
             }
             if (!$this->valid && $_template->smarty->cache_locking) {
                 $this->handler->acquireLock($_template->smarty, $this);
+
                 return;
             } else {
                 return;
@@ -355,27 +414,29 @@ class Smarty_Template_Cached {
     }
 
     /**
-    * Write this cache object to handler
-    *
-    * @param Smarty_Internal_Template $_template template object
-    * @param string $content content to cache
-    * @return boolean success
-    */
+     * Write this cache object to handler
+     *
+     * @param Smarty_Internal_Template $_template template object
+     * @param string                   $content   content to cache
+     *
+     * @return boolean success
+     */
     public function write(Smarty_Internal_Template $_template, $content)
     {
         if (!$_template->source->recompiled) {
             if ($this->handler->writeCachedContent($_template, $content)) {
+                $this->content = null;
                 $this->timestamp = time();
                 $this->exists = true;
                 $this->valid = true;
                 if ($_template->smarty->cache_locking) {
                     $this->handler->releaseLock($_template->smarty, $this);
                 }
+
                 return true;
             }
         }
+
         return false;
     }
-
 }
-?>
\ No newline at end of file