static function cleanupByNodeIDs(&$nodeIDList) { if (!is_array($nodeIDList) || count($nodeIDList) === 0) { eZSubtreeCache::cleanupAll(); } else { $nodeList = eZContentObjectTreeNode::fetch($nodeIDList); if ($nodeList) { if (!is_array($nodeList)) { $nodeList = array($nodeList); } eZSubtreeCache::cleanup($nodeList); } } }
/** * 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); }
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); }