eZ Publish  [trunk]
eZContentCacheManager Class Reference

Figures out relations between objects, nodes and classes for cache management. More...

List of all members.

Static Public Member Functions

static appendChildrenNodeIDs (&$nodeList, &$nodeIDList)
 For each node in $nodeList finds its children nodes and adds its ids to the $nodeIDList.
static appendKeywordNodeIDs ($object, $versionNum, &$nodeIDList, $limit=null)
static appendNodeIDs ($nodeList, &$nodeIDList)
static appendParentNodeIDs ($object, $versionNum, &$nodeIDList)
static appendRelatingNodeIDs ($object, &$nodeIDList)
static appendSiblingsNodeIDs (&$nodeList, &$nodeIDList)
static clearAllContentCache ($ignoreINISettings=false)
static clearContentCache ($objectID, $versionNum=true, $additionalNodeList=false)
static clearContentCacheIfNeeded ($objectID, $versionNum=true, $additionalNodeList=false)
static clearContentCacheIfNeededBySectionID ($sectionID)
static clearObjectViewCache ($objectID, $versionNum=true, $additionalNodeList=false)
static clearObjectViewCacheIfNeeded ($objectID, $versionNum=true, $additionalNodeList=false)
static clearTemplateBlockCache ($objectID, $checkViewCacheClassSettings=false)
static clearTemplateBlockCacheIfNeeded ($objectID)
static clearViewCache ($objectID, $versionNum=true, $additionalNodeList=false)
static dependencyInfo ($classID, $ignoreINISettings=false)
static fetchNodePathString ($nodeList)
static generateObjectViewCache ($objectID)
static nodeList ($objectID, $versionNum)
static nodeListForObject ($contentObject, $versionNum, $clearCacheType, &$nodeList, &$handledObjectList)
static writeDebugBits ($handledObjectList, $highestBit)

Public Attributes

const CLEAR_ALL_CACHE = 63
const CLEAR_CHILDREN_CACHE = 32
const CLEAR_DEFAULT = 15
const CLEAR_KEYWORD_CACHE = 8
const CLEAR_NO_CACHE = 0
const CLEAR_NODE_CACHE = 1
const CLEAR_PARENT_CACHE = 2
const CLEAR_RELATING_CACHE = 4
const CLEAR_SIBLINGS_CACHE = 16

Detailed Description

Figures out relations between objects, nodes and classes for cache management.

This class works together with eZContentCache to manage the cache files for content viewing. This class takes care of finding out the relationship and then passes a list of nodes to eZContentCache which does the actual clearing.

The manager uses special rules in 'viewcache.ini' to figure relationships.

See also:
eZContentCache

Definition at line 24 of file ezcontentcachemanager.php.


Member Function Documentation

static eZContentCacheManager::appendChildrenNodeIDs ( &$  nodeList,
&$  nodeIDList 
) [static]

For each node in $nodeList finds its children nodes and adds its ids to the $nodeIDList.

Parameters:
array(eZContentObjectTreeNode)$nodeList
array(int)$nodeIDList

Definition at line 265 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::appendKeywordNodeIDs ( object,
versionNum,
&$  nodeIDList,
limit = null 
) [static]

Appends node ids of objects with the same keyword(s) as $object to $nodeIDList array.

Parameters:
$versionNumThe version of the object to use or true for current version
[out]$nodeIDListArray with node IDs

Definition at line 182 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::appendNodeIDs ( nodeList,
&$  nodeIDList 
) [static]

Appends nodes ids from $nodeList list to $nodeIDList

Parameters:
[out]$nodeIDListArray with node IDs

Definition at line 56 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::appendParentNodeIDs ( object,
versionNum,
&$  nodeIDList 
) [static]

Appends parent nodes ids of $object to $nodeIDList array.

Parameters:
$versionNumThe version of the object to use or true for current version
[out]$nodeIDListArray with node IDs

Definition at line 43 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::appendRelatingNodeIDs ( object,
&$  nodeIDList 
) [static]

Find all content objects that relates $object and appends their node IDs to $nodeIDList.

Parameters:
[out]$nodeIDListArray with node IDs

Definition at line 85 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::appendSiblingsNodeIDs ( &$  nodeList,
&$  nodeIDList 
) [static]

Definition at line 241 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::clearAllContentCache ( ignoreINISettings = false) [static]

Clears all content cache: view cache, template-block cache, template-block with subtree_expiry parameter cache.

Definition at line 1016 of file ezcontentcachemanager.php.

Referenced by eZContentLanguage\addLanguage(), removeRelatedCache(), eZContentLanguage\removeThis(), and eZContentClass\storeVersioned().

static eZContentCacheManager::clearContentCache ( objectID,
versionNum = true,
additionalNodeList = false 
) [static]

Clears content cache for specified object: view cache, template-block cache, template-block with subtree_expiry parameter cache without checking of ini settings.

Definition at line 998 of file ezcontentcachemanager.php.

Referenced by eZContentOperationCollection\changeSortOrder().

Clears content cache if needed by $sectionID

Definition at line 962 of file ezcontentcachemanager.php.

static eZContentCacheManager::clearObjectViewCache ( objectID,
versionNum = true,
additionalNodeList = false 
) [static]

Clears view caches of nodes, parent nodes and relating nodes of content objects with id $objectID. It will use 'viewcache.ini' to determine additional nodes.

Parameters:
$versionNumThe version of the object to use or true for current version
$additionalNodeListAn array with node IDs to add to clear list, or false for no additional nodes.

Definition at line 679 of file ezcontentcachemanager.php.

Referenced by clearContentCache(), clearObjectViewCacheIfNeeded(), clearViewCache(), eZContentObject\fixReverseRelations(), eZLDAPUser\publishUpdateUser(), and eZContentObject\removeReverseRelations().

static eZContentCacheManager::clearObjectViewCacheIfNeeded ( objectID,
versionNum = true,
additionalNodeList = false 
) [static]

Clears view cache for specified object. Checks 'ViewCaching' ini setting to determine whether cache is enabled or not.

Definition at line 748 of file ezcontentcachemanager.php.

Referenced by clearContentCacheIfNeeded(), eZContentOperationCollection\removeAssignment(), and eZContentOperationCollection\removeNodes().

static eZContentCacheManager::clearTemplateBlockCache ( objectID,
checkViewCacheClassSettings = false 
) [static]

Clears template-block cache and template-block with subtree_expiry parameter caches for specified object without checking 'TemplateCache' ini setting. If $objectID is false all template block caches will be cleared.

Definition at line 773 of file ezcontentcachemanager.php.

Referenced by clearContentCache(), and clearTemplateBlockCacheIfNeeded().

Clears template-block cache and template-block with subtree_expiry parameter caches for specified object. Checks 'TemplateCache' ini setting to determine whether cache is enabled or not. If $objectID is false all template block caches will be cleared.

Definition at line 761 of file ezcontentcachemanager.php.

Referenced by clearContentCacheIfNeeded(), and eZPackageType\storeObjectAttribute().

static eZContentCacheManager::clearViewCache ( objectID,
versionNum = true,
additionalNodeList = false 
) [static]

Deprecated. Use 'clearObjectViewCache' instead

Definition at line 663 of file ezcontentcachemanager.php.

static eZContentCacheManager::dependencyInfo ( classID,
ignoreINISettings = false 
) [static]

Definition at line 294 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::fetchNodePathString ( nodeList) [static]

Goes through all content nodes in $nodeList and extracts the 'path_string'.

Returns:
An array with 'path_string' information.

Definition at line 69 of file ezcontentcachemanager.php.

Referenced by nodeListForObject().

static eZContentCacheManager::generateObjectViewCache ( objectID) [static]

Generates the related viewcaches (PreGeneration) for the content object. It will only do this if [ContentSettings]/PreViewCache in site.ini is enabled.

Parameters:
$objectIDThe ID of the content object to generate caches for.

Definition at line 813 of file ezcontentcachemanager.php.

Referenced by eZUser\setFailedLoginAttempts(), and eZUserOperationCollection\setSettings().

static eZContentCacheManager::nodeList ( objectID,
versionNum 
) [static]

Figures out all nodes that are affected by the change of object $objectID. This involves finding all nodes, parent nodes and nodes of objects that relate this object. The 'viewcache.ini' file is also checked to see if some special content classes has dependencies to the current object, if this is true extra nodes might be included.

Parameters:
$versionNumThe version of the object to use or true for current version
$additionalNodeListAn array with node IDs to add to clear list, or false for no additional nodes.
Returns:
An array with node IDs that must have their viewcaches cleared.

Definition at line 644 of file ezcontentcachemanager.php.

Referenced by clearObjectViewCache().

static eZContentCacheManager::nodeListForObject ( contentObject,
versionNum,
clearCacheType,
&$  nodeList,
&$  handledObjectList 
) [static]

Use $clearCacheType to include different kind of nodes( parent, relating, etc ). If $versionNum is true, then current version will be used.

Parameters:
$contentObjectCurrent content object that is checked.
$versionNumThe version of the object to use or true for current version
$clearCacheTypeBit field which controls the the extra nodes to include, use bitwise or with one of these defines:
  • self::CLEAR_NODE_CACHE - Clear the nodes of the object
  • self::CLEAR_PARENT_CACHE - Clear the parent nodes of the object
  • self::CLEAR_RELATING_CACHE - Clear nodes of objects that relate this object
  • self::CLEAR_KEYWORD_CACHE - Clear nodes of objects that have the same keyword as this object
  • self::CLEAR_SIBLINGS_CACHE - Clear caches for siblings of the node.
  • self::CLEAR_ALL_CACHE - Enables all of the above
  • self::CLEAR_NO_CACHE - Do not clear cache for current object.
[out]$nodeListAn array with node IDs that are affected by the current object change.
[out]$handledObjectListAn associative array with object IDs and the cache types that were handled for these objects already. Used to avoid infinite recursion.
Note:
This function is recursive.

Definition at line 451 of file ezcontentcachemanager.php.

Referenced by generateObjectViewCache(), and nodeList().

static eZContentCacheManager::writeDebugBits ( handledObjectList,
highestBit 
) [static]

Definition at line 409 of file ezcontentcachemanager.php.


Member Data Documentation

Definition at line 35 of file ezcontentcachemanager.php.

Referenced by dependencyInfo().

Definition at line 31 of file ezcontentcachemanager.php.

Referenced by dependencyInfo().

Definition at line 28 of file ezcontentcachemanager.php.

Referenced by dependencyInfo().

Definition at line 29 of file ezcontentcachemanager.php.

Referenced by dependencyInfo().

Definition at line 30 of file ezcontentcachemanager.php.

Referenced by dependencyInfo().


The documentation for this class was generated from the following file: