Exemplo n.º 1
0
 static function expireTemplateBlockCacheIfNeeded()
 {
     $ini = eZINI::instance();
     if ( $ini->variable( 'TemplateSettings', 'TemplateCache' ) == 'enabled' )
         eZContentObject::expireTemplateBlockCache();
 }
Exemplo n.º 2
0
 /**
  * Clears template-block cache and template-block with subtree_expiry parameter caches for specified object
  * without checking 'TemplateCache' ini setting.
  *
  * @param int|array|bool $objectID (list of) object ID, if false only ordinary template block caches will be cleared
  *                                 Support for array value available {@since 5.0}.
  * @param bool $checkViewCacheClassSettings Check whether ViewCache class settings should be verified
  */
 public static function clearTemplateBlockCache($objectID, $checkViewCacheClassSettings = false)
 {
     // ordinary template block cache
     eZContentObject::expireTemplateBlockCache();
     if (empty($objectID)) {
         return;
     }
     // subtree template block cache
     $nodeList = false;
     if (is_array($objectID)) {
         $objects = eZContentObject::fetchIDArray($objectID);
     } else {
         $objects = array($objectID => eZContentObject::fetch($objectID));
     }
     $ini = eZINI::instance('viewcache.ini');
     foreach ($objects as $object) {
         if ($object instanceof eZContentObject) {
             $getAssignedNodes = true;
             if ($checkViewCacheClassSettings) {
                 $objectClassIdentifier = $object->attribute('class_identifier');
                 if ($ini->hasVariable($objectClassIdentifier, 'ClearCacheBlocks') && $ini->variable($objectClassIdentifier, 'ClearCacheBlocks') === 'disabled') {
                     $getAssignedNodes = false;
                 }
             }
             if ($getAssignedNodes) {
                 $nodeList = array_merge($nodeList !== false ? $nodeList : array(), $object->assignedNodes());
             }
         }
     }
     eZSubtreeCache::cleanup($nodeList);
 }
Exemplo n.º 3
0
 static function clearTemplateBlockCache($objectID, $checkViewCacheClassSettings = false)
 {
     // ordinary template block cache
     eZContentObject::expireTemplateBlockCache();
     // subtree template block cache
     $nodeList = false;
     $object = false;
     if ($objectID) {
         $object = eZContentObject::fetch($objectID);
     }
     if ($object instanceof eZContentObject) {
         $getAssignedNodes = true;
         if ($checkViewCacheClassSettings) {
             $ini = eZINI::instance('viewcache.ini');
             $objectClassIdentifier = $object->attribute('class_identifier');
             if ($ini->hasVariable($objectClassIdentifier, 'ClearCacheBlocks') && $ini->variable($objectClassIdentifier, 'ClearCacheBlocks') === 'disabled') {
                 $getAssignedNodes = false;
             }
         }
         if ($getAssignedNodes) {
             $nodeList = $object->assignedNodes();
         }
     }
     eZSubtreeCache::cleanup($nodeList);
 }