eZPublish  4.1
eZContentObjectTreeNode Class Reference

The class eZContentObjectTreeNode does. More...

+ Inheritance diagram for eZContentObjectTreeNode:
+ Collaboration diagram for eZContentObjectTreeNode:

Public Member Functions

 addChild ($contentobjectID, $asObject=false, $contentObjectVersion=false)
 
 adjustPathElement ($element, $useParentFromNodeObject=false)
 
 canAddLocation ()
 
 canCreate ()
 
 canCreateClassList ($asObject=false, $includeFilter=true, $groupList=false, $fetchID=false)
 
 canEdit ()
 
 canHide ()
 
 canMove ()
 
 canMoveFrom ()
 
 canMoveTo ($classID=false)
 
 canPdf ()
 
 canRead ()
 
 canRemove ()
 
 canRemoveLocation ()
 
 canSwap ()
 
 canViewEmbed ()
 
 checkAccess ($functionName, $originalClassID=false, $parentClassID=false, $returnAccessList=false, $language=false)
 
 checkPath ($path)
 
 children ()
 
 childrenByName ($name)
 
 childrenCount ($checkPolicies=true)
 
 classIdentifier ()
 
 classIsContainer ()
 
 classListFromPolicy ($policy, $allowedLanguageCodes=false)
 
 className ()
 
 contentObjectVersionObject ($asObject=true)
 
 createObject ($contentClassID, $parentNodeID=2)
 
 creator ()
 
 currentLanguage ()
 
 dataMap ()
 
 eZContentObjectTreeNode ($row=array())
 
 fetchByCRC ($pathStr)
 
 fetchParent ()
 
 fetchPath ()
 
 getName ($language=false)
 
 hasContentObject ()
 
 hiddenInvisibleString ()
 
 hiddenStatusString ()
 
 isMain ()
 
 move ($newParentNodeID, $nodeID=0)
 
 object ()
 
 pathArray ()
 
 pathWithNames ($regenerateCurrent=false)
 
 remoteID ()
 
 removeNodeFromTree ($moveToTrash=true)
 
 removeThis ()
 
 serialize ($options, $contentNodeIDArray, $topNodeIDArray)
 
 setContentObject ($object)
 
 setCurrentLanguage ($languageCode)
 
 setName ($name)
 
 sortArray ()
 
 store ($fieldFilters=null)
 
 subTree ($params=false)
 
 subTreeCount ($params=array())
 
 subtreeSoleNodeCount ($params=array())
 
 updateAndStoreModified ()
 
 updateSubTreePath ($updateParent=true, $nodeMove=false)
 
 updateURLAlias ()
 
 url ()
 
 urlAlias ()
 
 viewCount ()
 
- Public Member Functions inherited from eZPersistentObject
 attribute ($attr, $noFunction=false)
 
 attributes ()
 
 eZPersistentObject ($row)
 
 fill ($row)
 
 hasAttribute ($attr)
 
 hasDirtyData ()
 
 remove ($conditions=null, $extraConditions=null)
 
 setAttribute ($attr, $val)
 
 setHasDirtyData ($hasDirtyData)
 
 store ($fieldFilters=null)
 
 sync ($fieldFilters=null)
 

Static Public Member Functions

static addChildTo ($contentobjectID, $nodeID, $asObject=false, $contentObjectVersion=false)
 
static assignSectionToSubTree ($nodeID, $sectionID, $oldSectionID=false)
 
static availableClassesJsArray ()
 
static availableClassListJsArray ($parameters=false)
 
static calendar ($params=false, $nodeID=0)
 
static classAttributeIDByIdentifier ($identifier)
 
static classIDByIdentifier ($identifier)
 
static clearViewCacheForSubtree (eZContentObjectTreeNode $node, $clearForRootNode=true)
 
static create ($parentNodeID=null, $contentObjectID=null, $contentObjectVersion=0, $sortField=0, $sortOrder=true)
 
static createAttributeFilterSQLStrings (&$attributeFilter, &$sortingInfo=array( 'sortCount'=> 0, 'attributeJoinCount'=> 0))
 
static createClassFilteringSQLString ($classFilterType, &$classFilterArray)
 
static createExtendedAttributeFilterSQLStrings (&$extendedAttributeFilter)
 
static createGroupBySQLStrings (&$outGroupBySelectText, &$outGroupByText, $groupBy)
 
static createMainNodeConditionSQLString ($mainNodeOnly)
 
static createNodesConditionSQLStringFromPath ($nodePath, $includingLastNodeInThePath, $limit=false)
 
static createNotEqParentSQLString ($nodeID, $depth=false, $depthOperator= 'le')
 
static createObjectNameFilterConditionSQLString ($filter)
 
static createPathConditionAndNotEqParentSQLStrings (&$outPathConditionStr, &$outNotEqParentStr, $nodeID, $depth=false, $depthOperator= 'le')
 
static createPathConditionSQLString ($nodePath, $nodeDepth, $depth=false, $depthOperator= 'le')
 
static createPermissionCheckingSQL ($limitationList, $treeTableName= 'ezcontentobject_tree', $tableAliasName= 'ezcontentobject_tree')
 
static createPermissionCheckingSQLString ($limitationList)
 
static createShowInvisibleSQLString ($useSettings, $fetchHidden=true)
 
static createSortingSQLStrings ($sortList, $treeTableName= 'ezcontentobject_tree', $allowCustomColumns=false)
 
static createVersionNameJoinsSQLString ($useVersionName, $includeAnd=true, $onlyTranslated=false, $lang=false, $treeTableName= 'ezcontentobject_tree')
 
static createVersionNameTablesSQLString ($useVersionName)
 
static createVersionNameTargetsSQLString ($useVersionName)
 
static dataTypeByClassAttributeID ($classAttributeID)
 
static definition ()
 
static deleteNodeWhereParent ($node, $id)
 
static fetch ($nodeID=false, $lang=false, $asObject=true, $conditions=false)
 
static fetchAliasesFromNodeList ($nodeList)
 Fetches path_identification_string for a list of nodes. More...
 
static fetchByContentObjectID ($contentObjectID, $asObject=true, $contentObjectVersion=false)
 
static fetchByPath ($pathString, $asObject=true)
 
static fetchByRemoteID ($remoteID, $asObject=true)
 
static fetchByURLPath ($pathString, $asObject=true)
 
static fetchClassIdentifierListByPathString ($nodePath, $withLastNode, $limit=false)
 
static fetchList ($asObject=true, $offset=false, $limit=false)
 
static fetchListCount ()
 
static fetchNode ($contentObjectID, $parentNodeID)
 
static fetchNodesByPathString ($nodePath, $withLastNode=false, $asObjects=true, $limit=false)
 
static findMainNode ($objectID, $asObject=false)
 
static findMainNodeArray ($objectIDArray, $asObject=true)
 Fetches the main nodes for an array of object id's. More...
 
static findNode ($parentNode, $id, $asObject=false, $remoteID=false)
 
static getClassesJsArray ($node=false, $includeFilter=true, $groupList=false, $fetchID=false, $classes=false)
 
static getLimitationList (&$limitation)
 
static getParentNodeId ($nodeID)
 
static getParentNodeIdListByContentObjectID ($objectIDs, $groupByObjectId=false, $onlyMainNode=false)
 Get parent node id's by content object id's. More...
 
static hideSubTree (eZContentObjectTreeNode $node, $modifyRootNode=true)
 
static makeObjectsArray ($array, $with_contentobject=true)
 
static parentDepthLimitationList ()
 
static removeNode ($nodeID=0)
 
static removeSubtrees ($deleteIDArray, $moveToTrash=true, $infoOnly=false)
 
static setVersionByObjectID ($objectID, $newVersion)
 
static showInvisibleNodes ()
 
static sortArrayBySortFieldAndSortOrder ($sortField, $sortOrder)
 
static sortFieldID ($sortFieldName)
 
static sortFieldName ($sortFieldID)
 
static sortKeyByClassAttributeID ($classAttributeID)
 
static subTreeByNodeID ($params=false, $nodeID=0)
 
static subTreeCountByNodeID ($params=array(), $nodeID)
 
static subTreeGroupByDateField ($field, $type)
 
static subTreeMultiPaths ($nodesParams, $listParams=NULL)
 
static subtreeRemovalInformation ($deleteIDArray)
 
static unhideSubTree (eZContentObjectTreeNode $node, $modifyRootNode=true)
 
static unserialize ($contentNodeDOMNode, $contentObject, $version, $isMain, &$nodeList, &$options, $handlerType= 'ezcontentobject')
 
static updateMainNodeID ($mainNodeID, $objectID, $version=false, $parentMainNodeID, $updateSection=true)
 
static updateNodeVisibility ($node, $parentNode, $recursive=true)
 
- Static Public Member Functions inherited from eZPersistentObject
static conditionText ($conditions)
 
static conditionTextByRow ($conditions, $row)
 
static count ($def, $conds=null, $field=null)
 
static definition ()
 
static escapeArray ($array)
 
static fetchObject ($def, $field_filters, $conds, $asObject=true, $grouping=null, $custom_fields=null)
 
static fetchObjectList ($def, $field_filters=null, $conds=null, $sorts=null, $limit=null, $asObject=true, $grouping=false, $custom_fields=null, $custom_tables=null, $custom_conds=null)
 
static getShortAttributeName ($db, $def, $attrName)
 
static handleRows ($rows, $class_name, $asObject)
 
static newObjectOrder ($def, $orderField, $conditions)
 
static removeObject ($def, $conditions=null, $extraConditions=null)
 
static reorderObject ($def, $orderField, $conditions, $down=true)
 
static swapRow ($table, $keys, $order_id, $rows, $id1, $id2)
 
static updateObjectList ($parameters)
 

Public Attributes

 $ClassIdentifier = null
 Contains the cached value of the class identifier. More...
 
 $ClassName = null
 
 $CurrentLanguage = false
 The current language for the node. More...
 
 $Name
 Name of the node. More...
 
const SORT_FIELD_CLASS_IDENTIFIER = 6
 
const SORT_FIELD_CLASS_NAME = 7
 
const SORT_FIELD_DEPTH = 5
 
const SORT_FIELD_MODIFIED = 3
 
const SORT_FIELD_MODIFIED_SUBNODE = 10
 
const SORT_FIELD_NAME = 9
 
const SORT_FIELD_PATH = 1
 
const SORT_FIELD_PRIORITY = 8
 
const SORT_FIELD_PUBLISHED = 2
 
const SORT_FIELD_SECTION = 4
 
const SORT_ORDER_ASC = 1
 
const SORT_ORDER_DESC = 0
 
- Public Attributes inherited from eZPersistentObject
 $PersistentDataDirty
 Whether the data is dirty, ie needs to be stored, or not. More...
 

Protected Attributes

 $ClassIsContainer = null
 

Private Member Functions

 updatePathIdentificationString ($pathIdentificationName)
 

Static Private Member Functions

static reverseRelatedCount ($nodeIDArray)
 

Detailed Description

The class eZContentObjectTreeNode does.

Some algorithms
----------
1. Adding new Node
Enter  1 - parent_node
       2 - contentobject_id,  ( that is like a node value )

(a) - get path_string, depth for parent node to built path_string  and to count depth for new one
(c) - calculating attributes for new node and inserting it
Returns node_id for added node


2. Deleting node ( or subtree )
Enter - node_id

3. Move subtree in tree
Enter node_id,new_parent_id


4. fetching subtree

Member Function Documentation

eZContentObjectTreeNode::addChild (   $contentobjectID,
  $asObject = false,
  $contentObjectVersion = false 
)

Add a child for this node to the object tree.

Parameters
$contentobjectIDThe ID of the contentobject the child-node should point to.
$asObjectIf true it will return the new child-node as an object, if not it returns the ID.
$contentObjectVersionThe version to use on the newly created child-node, if false it uses the current_version of the specified object.
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
static eZContentObjectTreeNode::addChildTo (   $contentobjectID,
  $nodeID,
  $asObject = false,
  $contentObjectVersion = false 
)
static

Add a child to the object tree.

Parameters
$contentobjectIDThe ID of the contentobject the child-node should point to.
$nodeIDThe ID of the parent-node to add child-node to.
$asObjectIf true it will return the new child-node as an object, if not it returns the ID.
$contentObjectVersionThe version to use on the newly created child-node, if false it uses the current_version of the specified object.
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentObject\addLocation(), and createObject().

eZContentObjectTreeNode::adjustPathElement (   $element,
  $useParentFromNodeObject = false 
)

Checks the path element $element against reserved words and existing elements. If the path element is already used, it will append a number and try again.

The adjusted path element is returned.

Parameters
$elementThe desired url element name
$useParentFromNodeObjectUse the parent from node object as a base for checking name collisions. This is needed when moving nodes, and the url entries are not updated yet.
echo $node->adjustPathElement( 'Content' ); // outputs Content1

Referenced by checkPath(), and updateSubTreePath().

static eZContentObjectTreeNode::assignSectionToSubTree (   $nodeID,
  $sectionID,
  $oldSectionID = false 
)
static

Will assign a section to the current node and all child objects. Only main node assignments will be updated.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentObjectTreeNodeOperations\move(), eZSiteInstaller\setSection(), eZContentOperationCollection\swapNode(), eZSiteInstaller\swapNodes(), updateMainNodeID(), eZContentOperationCollection\updateSection(), and eZContentOperationCollection\updateSectionID().

static eZContentObjectTreeNode::availableClassesJsArray ( )
static
static eZContentObjectTreeNode::availableClassListJsArray (   $parameters = false)
static
static eZContentObjectTreeNode::calendar (   $params = false,
  $nodeID = 0 
)
static
Returns
The date/time list when object were published

Referenced by eZContentFunctionCollection\calendar().

eZContentObjectTreeNode::canAddLocation ( )
Returns
true if current user can add object locations to current node.
See Also
checkAccess()
eZContentObjectTreeNode::canCreate ( )
Returns
true if the current user can create a new node as child of this node.
See Also
checkAccess().
eZContentObjectTreeNode::canCreateClassList (   $asObject = false,
  $includeFilter = true,
  $groupList = false,
  $fetchID = false 
)

Finds all classes that the current user can create objects from and returns. It is also possible to filter the list event more with $includeFilter and $groupList.

Parameters
$asObjectIf true then it return eZContentClass objects, if not it will be an associative array with name and id keys.
$includeFilterIf true then it will include only from class groups defined in $groupList, if not it will exclude those groups.
$groupListAn array with class group IDs that should be used in filtering, use false if you do not wish to filter at all.
$fetchIDA unique name for the current fetch, this must be supplied when filtering is used if you want caching to work.
eZContentObjectTreeNode::canEdit ( )
Returns
true if the node can be edited by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::canHide ( )
Returns
true if the node can be hidden by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::canMove ( )

Check if the node can be moved. (actually checks 'edit' and 'remove' permissions)

Returns
true if the node can be moved by the current user.
See Also
checkAccess().
Deprecated:
The function canMove() is preferred since its naming is clearer.
eZContentObjectTreeNode::canMoveFrom ( )

Check if the node can be moved. (actually checks 'edit' and 'remove' permissions)

Returns
true if the node can be moved by the current user.
See Also
checkAccess().

Referenced by canMove().

eZContentObjectTreeNode::canMoveTo (   $classID = false)
Returns
true if a node of class $classID can be moved to the current node by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::canPdf ( )
Returns
true if the current user can create a pdf of this content object.
eZContentObjectTreeNode::canRead ( )
Returns
true if the node can be read by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::canRemove ( )
Returns
true if the node can be removed by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::canRemoveLocation ( )
Returns
true if current user can add object locations to current node.
eZContentObjectTreeNode::canSwap ( )
Returns
true if a node can be swaped by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::canViewEmbed ( )
Returns
true if the node can be viewed as embeded object by the current user.
See Also
checkAccess().
eZContentObjectTreeNode::checkAccess (   $functionName,
  $originalClassID = false,
  $parentClassID = false,
  $returnAccessList = false,
  $language = false 
)
eZContentObjectTreeNode::checkPath (   $path)

Check if a node with the same name already exists. If so create a $name + __x value.

Referenced by pathWithNames().

eZContentObjectTreeNode::children ( )

Returns the first level children in sorted order.

eZContentObjectTreeNode::childrenByName (   $name)
Returns
the children(s) of the current node as an array of eZContentObjectTreeNode objects
eZContentObjectTreeNode::childrenCount (   $checkPolicies = true)

Returns the number of children for the current node. $checkPolicies If true it will only include nodes which can be read using the current policies, if false all nodes are included in count.

static eZContentObjectTreeNode::classAttributeIDByIdentifier (   $identifier)
static
Returns
the ID of the class attribute with the given ID. False is returned if no class/attribute by that identifier is found. If multiple classes have the same identifier, the first found is returned.

Referenced by eZSearchEngine\buildSortSQL(), createAttributeFilterSQLStrings(), createSortingSQLStrings(), eZContentFunctionCollection\fetchRelatedObjects(), eZContentFunctionCollection\fetchRelatedObjectsCount(), eZContentFunctionCollection\fetchReverseRelatedObjects(), and eZContentFunctionCollection\fetchReverseRelatedObjectsCount().

static eZContentObjectTreeNode::classIDByIdentifier (   $identifier)
static
Returns
the ID of the class with the given ID. False is returned if no class by that identifier is found. If multiple classes have the same identifier, the first found is returned.
eZContentObjectTreeNode::classIdentifier ( )
Returns
the cached value of the class identifier if it exists, if not it's fetched dynamically
eZContentObjectTreeNode::classIsContainer ( )
Returns
the cached value of the class is_container flag if it exists, if not it's fetched dynamically
eZContentObjectTreeNode::classListFromPolicy (   $policy,
  $allowedLanguageCodes = false 
)

Referenced by canCreateClassList().

eZContentObjectTreeNode::className ( )
Returns
the cached value of the class name if it exists, if not it's fetched dynamically
static eZContentObjectTreeNode::clearViewCacheForSubtree ( eZContentObjectTreeNode  $node,
  $clearForRootNode = true 
)
static

static

Returns
true on success, false otherwise
eZContentObjectTreeNode::contentObjectVersionObject (   $asObject = true)
static eZContentObjectTreeNode::create (   $parentNodeID = null,
  $contentObjectID = null,
  $contentObjectVersion = 0,
  $sortField = 0,
  $sortOrder = true 
)
static

Creates a new tree node and returns it.

Parameters
$parentNodeIDThe ID of the parent or null if the node is not known yet.
$contentObjectIDThe ID of the object it points to or null if it is not known yet.
$contentObjectVersionThe version of the object or 0 if not known yet.
$sortFieldNumber describing the field to sort by, or 0 if not known yet.
$sortOrderWhich way to sort, true means ascending while false is descending.
Note
The attribute remote_id will get an automatic and unique value.

Referenced by addChildTo(), eZContentObjectVersion\tempMainNode(), and eZNodeAssignment\tempNode().

static eZContentObjectTreeNode::createAttributeFilterSQLStrings ( $attributeFilter,
$sortingInfo = array( 'sortCount' => 0, 'attributeJoinCount' => 0 ) 
)
static
static eZContentObjectTreeNode::createClassFilteringSQLString (   $classFilterType,
$classFilterArray 
)
static
static eZContentObjectTreeNode::createExtendedAttributeFilterSQLStrings ( $extendedAttributeFilter)
static
static eZContentObjectTreeNode::createGroupBySQLStrings ( $outGroupBySelectText,
$outGroupByText,
  $groupBy 
)
static

static

Referenced by calendar(), subTreeByNodeID(), and subTreeMultiPaths().

static eZContentObjectTreeNode::createMainNodeConditionSQLString (   $mainNodeOnly)
static

static

Referenced by calendar(), subTreeByNodeID(), and subTreeMultiPaths().

static eZContentObjectTreeNode::createNodesConditionSQLStringFromPath (   $nodePath,
  $includingLastNodeInThePath,
  $limit = false 
)
static

static

Parameters
$limitmaximum number of nodes in the path to use, starting from last node

Referenced by fetchNodesByPathString().

static eZContentObjectTreeNode::createNotEqParentSQLString (   $nodeID,
  $depth = false,
  $depthOperator = 'le' 
)
static
eZContentObjectTreeNode::createObject (   $contentClassID,
  $parentNodeID = 2 
)
Deprecated:
This function should no longer be used, use the eZContentClass::instantiate and eZNodeAssignment::create instead.
static eZContentObjectTreeNode::createObjectNameFilterConditionSQLString (   $filter)
static
static eZContentObjectTreeNode::createPathConditionAndNotEqParentSQLStrings ( $outPathConditionStr,
$outNotEqParentStr,
  $nodeID,
  $depth = false,
  $depthOperator = 'le' 
)
static
static eZContentObjectTreeNode::createPathConditionSQLString (   $nodePath,
  $nodeDepth,
  $depth = false,
  $depthOperator = 'le' 
)
static
static eZContentObjectTreeNode::createPermissionCheckingSQL (   $limitationList,
  $treeTableName = 'ezcontentobject_tree',
  $tableAliasName = 'ezcontentobject_tree' 
)
static
static eZContentObjectTreeNode::createPermissionCheckingSQLString (   $limitationList)
static

static Deprecated. Use 'createPermissionCheckingSQL' instead.

static eZContentObjectTreeNode::createShowInvisibleSQLString (   $useSettings,
  $fetchHidden = true 
)
static

static If $useSettings is true $fetchHidden will be ignored. If $useSettings is false $fetchHidden will be used.

Referenced by calendar(), eZContentFunctionCollection\fetchKeyword(), eZContentFunctionCollection\fetchKeywordCount(), eZSearchEngine\search(), eZContentStructureTreeOperator\subTree(), subTreeByNodeID(), subTreeCountByNodeID(), and subTreeMultiPaths().

static eZContentObjectTreeNode::createSortingSQLStrings (   $sortList,
  $treeTableName = 'ezcontentobject_tree',
  $allowCustomColumns = false 
)
static
static eZContentObjectTreeNode::createVersionNameJoinsSQLString (   $useVersionName,
  $includeAnd = true,
  $onlyTranslated = false,
  $lang = false,
  $treeTableName = 'ezcontentobject_tree' 
)
static
static eZContentObjectTreeNode::createVersionNameTablesSQLString (   $useVersionName)
static
static eZContentObjectTreeNode::createVersionNameTargetsSQLString (   $useVersionName)
static
eZContentObjectTreeNode::creator ( )
Returns
the creator of the version published in the node.
eZContentObjectTreeNode::currentLanguage ( )
eZContentObjectTreeNode::dataMap ( )
Returns
a map with all the content object attributes where the keys are the attribute identifiers.
See Also
eZContentObject::fetchDataMap
static eZContentObjectTreeNode::dataTypeByClassAttributeID (   $classAttributeID)
static

Referenced by createSortingSQLStrings().

static eZContentObjectTreeNode::definition ( )
static
static eZContentObjectTreeNode::deleteNodeWhereParent (   $node,
  $id 
)
static
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
eZContentObjectTreeNode::eZContentObjectTreeNode (   $row = array())

Constructor

Referenced by create(), fetchList(), and makeObjectsArray().

static eZContentObjectTreeNode::fetch (   $nodeID = false,
  $lang = false,
  $asObject = true,
  $conditions = false 
)
static

Fetch node by $nodeID. If $nodeID is an array of ids then list of nodes will be returned.

Referenced by eZContentObjectPackageHandler\add(), eZContentOperationCollection\addAssignment(), addChildTo(), eZPolicyLimitation\allValuesAsArrayWithNames(), assignSectionToSubTree(), eZRole\assignToUser(), eZContentFunctionCollection\canInstantiateClassList(), eZContentOperationCollection\changeHideStatus(), eZContentOperationCollection\changeSortOrder(), eZContentObjectVersion\checkAccess(), eZContentUpload\checkAccess(), eZContentObject\checkAccess(), checkAccess(), checkNodeAssignments(), checkNodeMovements(), eZContentObject\classListFromPolicy(), classListFromPolicy(), eZSubtreeCache\cleanupByNodeIDs(), eZNodeviewfunctions\contentViewGenerate(), copyObject(), copyPublishContentObject(), copySubtree(), eZContentFunctions\createAndPublishObject(), eZObjectRelationListType\createNewObject(), createObject(), createPathConditionAndNotEqParentSQLStrings(), eZRSSImport\destinationPath(), eZSimplifiedXMLEditOutput\eznodeHref(), eZShopFunctionCollection\fetchBestSellList(), fetchByPath(), fetchByRemoteID(), fetchByURLPath(), eZContentFunctionCollection\fetchContentNode(), eZContentFunctionCollection\fetchKeyword(), eZContentFunctionCollection\fetchMostViewedTopList(), eZContentBrowseBookmark\fetchNode(), eZContentBrowseRecent\fetchNode(), eZWebDAVContentServer\fetchNodeByTranslation(), eZWebDAVContentBackend\fetchNodeByTranslation(), eZSubtreeNotificationRule\fetchNodesForUserID(), eZCollaborationFunctionCollection\fetchObjectTreeCount(), fetchParent(), eZWebDAVContentServer\fetchParentNodeByTranslation(), eZWebDAVContentBackend\fetchParentNodeByTranslation(), eZContentFunctionCollection\fetchSameClassAttributeNodeList(), eZContentFunctionCollection\fetchTipafriendTopList(), eZContentObjectPackageHandler\generateFetchAliasArray(), eZContentCacheManager\generateObjectViewCache(), eZContentObjectPackageHandler\generatePackage(), eZContentObjectPackageCreator\generatePackageInformation(), eZRSSExportItem\getAttributeMappings(), eZNodeAssignment\getParentNode(), eZSSLZone\getSSLZones(), eZLDAPUser\goAndPublishGroups(), eZContentObjectPackageHandler\handleParameters(), eZHTTPHeader\headerOverrideArray(), eZRSSExport\imageNode(), eZRSSExport\imagePath(), importRSSItem(), eZContentStructureTreeOperator\initContentStructureTree(), eZObjectRelationListType\initializeObjectAttribute(), eZContentObjectPackageInstaller\initializeTopNodes(), eZTreeMenuOperator\modify(), eZContentObjectTreeNodeOperations\move(), move(), eZSubtreeNotificationRule\node(), eZWorkflowProcess\node(), eZContentUpload\nodeAliasID(), eZContentObjectAssignmentHandler\nodeID(), eZContentObjectTrashNode\originalParent(), eZContentObject\parentNodes(), eZXMLOutputHandler\prefetch(), eZSimplifiedXMLInputParser\publishHandlerEmbed(), eZSimplifiedXMLInputParser\publishHandlerLink(), eZContentOperationCollection\publishNode(), eZLDAPUser\publishUpdateUser(), eZContentOperationCollection\readObject(), removeNode(), removeSubtrees(), eZContentObject\removeThis(), reverseRelatedCount(), eZContentObjectAssignmentHandler\setupAssignments(), eZRSSExportItem\sourceNode(), eZPDFExport\sourceNode(), eZRSSExportItem\sourcePath(), eZContentStructureTreeOperator\subTree(), eZContentOperationCollection\swapNode(), eZSiteInstaller\swapNodes(), eZXMLTextType\transformLinksToRemoteLinks(), eZXMLTextType\transformRemoteLinksToLinks(), and eZContentOperationCollection\updatePriority().

static eZContentObjectTreeNode::fetchAliasesFromNodeList (   $nodeList)
static

Fetches path_identification_string for a list of nodes.

Parameters
array(int)$nodeList
Returns
array Associative array
static eZContentObjectTreeNode::fetchByContentObjectID (   $contentObjectID,
  $asObject = true,
  $contentObjectVersion = false 
)
static
eZContentObjectTreeNode::fetchByCRC (   $pathStr)
static eZContentObjectTreeNode::fetchByPath (   $pathString,
  $asObject = true 
)
static
static eZContentObjectTreeNode::fetchClassIdentifierListByPathString (   $nodePath,
  $withLastNode,
  $limit = false 
)
static

Extracts each node that in the path from db and returns an array of class identifiers

Parameters
$nodePathA string containing the path of the node, it consists of node IDs starting from the root and delimited by / (slash).
$withLastNodeIf true the last node in the path is included in the list. The last node is the node which the path was fetched from.
$limitmaximum number of nodes in the path to use, starting from last node
Returns
An array with class identifier and node ID.

Example

Referenced by eZContentCacheManager\nodeListForObject().

static eZContentObjectTreeNode::fetchList (   $asObject = true,
  $offset = false,
  $limit = false 
)
static

Fetches a list of nodes and returns it. Offset and limitation can be set if needed.

static eZContentObjectTreeNode::fetchListCount ( )
static

Fetches the number of nodes which exists in the system.

static eZContentObjectTreeNode::fetchNode (   $contentObjectID,
  $parentNodeID 
)
static

Finds the node for the object $contentObjectID which placed as child of node $parentNodeID.

Returns
An eZContentObjectTreeNode object or null if no node was found.

Referenced by checkNodeActions(), checkNodeMovements(), eZNodeAssignment\fetchNode(), eZContentObjectTreeNodeOperations\move(), eZContentOperationCollection\publishNode(), eZLDAPUser\publishUpdateUser(), and eZContentObject\unserialize().

static eZContentObjectTreeNode::fetchNodesByPathString (   $nodePath,
  $withLastNode = false,
  $asObjects = true,
  $limit = false 
)
static
Returns
An array with content node objects that is present in the node path $nodePath.
Parameters
$withLastNodeIf true the last node in the path is included in the list. The last node is the node which the path was fetched from.
$asObjectsIf true then return PHP objects, if not return raw row data.
$limitmaximum number of nodes in the path to use, starting from last node

Referenced by fetchClassIdentifierListByPathString(), and fetchPath().

eZContentObjectTreeNode::fetchParent ( )
eZContentObjectTreeNode::fetchPath ( )
static eZContentObjectTreeNode::findMainNode (   $objectID,
  $asObject = false 
)
static
static eZContentObjectTreeNode::findMainNodeArray (   $objectIDArray,
  $asObject = true 
)
static

Fetches the main nodes for an array of object id's.

Parameters
array(int)$objectIDArray an array of object IDs
bool$asObjectWether to return the result as an array of eZContentObjectTreeNode (true) or as an array of associative arrays (false)
Returns
array(array|eZContentObjectTreeNode)

Referenced by eZKeyword\relatedObjects().

static eZContentObjectTreeNode::findNode (   $parentNode,
  $id,
  $asObject = false,
  $remoteID = false 
)
static
static eZContentObjectTreeNode::getClassesJsArray (   $node = false,
  $includeFilter = true,
  $groupList = false,
  $fetchID = false,
  $classes = false 
)
static
eZContentObjectTreeNode::getName (   $language = false)
static eZContentObjectTreeNode::getParentNodeId (   $nodeID)
static

Get parent node id by node id

Parameters
$nodeIDthe node id you want parent node id for.
static eZContentObjectTreeNode::getParentNodeIdListByContentObjectID (   $objectIDs,
  $groupByObjectId = false,
  $onlyMainNode = false 
)
static

Get parent node id's by content object id's.

Since
Version 4.1
Parameters
int | array$objectIDs
bool$groupByObjectIdgroups parent node ids by object id they belong to.
bool$onlyMainNodelimits result to parent node id of main node.
Returns
array Returns array of parent node id's

Referenced by eZContentObject\checkGroupLimitationAccess(), eZContentObject\mainParentNodeID(), and eZContentObject\parentNodes().

eZContentObjectTreeNode::hasContentObject ( )
eZContentObjectTreeNode::hiddenInvisibleString ( )
Returns
combined string representation of both "is_hidden" and "is_invisible" attributes Used in the node view templates. FIXME: this method probably should be removed in the future.
eZContentObjectTreeNode::hiddenStatusString ( )
Returns
combined string representation of both "is_hidden" and "is_invisible" attributes Used in the limitation handling templates.
static eZContentObjectTreeNode::hideSubTree ( eZContentObjectTreeNode  $node,
  $modifyRootNode = true 
)
static

static

Parameters
$nodeRoot node of the subtree
$modifyRootNodeWhether to modify the root node (true/false)

Hide algorithm: if ( root node of the subtree is visible ) { 1) Mark root node as hidden and invisible 2) Recursively mark child nodes as invisible except for ones which have been previously marked as invisible } else { Mark root node as hidden }

In some cases we don't want to touch the root node when (un)hiding a subtree, for example after content/move or content/copy. That's why $modifyRootNode argument is used.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentOperationCollection\changeHideStatus().

eZContentObjectTreeNode::isMain ( )
Returns
true if this node is the main node.
static eZContentObjectTreeNode::makeObjectsArray (   $array,
  $with_contentobject = true 
)
static
eZContentObjectTreeNode::move (   $newParentNodeID,
  $nodeID = 0 
)

Moves the node to the given node.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

role system clean up

eZContentObjectTreeNode::object ( )
static eZContentObjectTreeNode::parentDepthLimitationList ( )
static
eZContentObjectTreeNode::pathArray ( )

Referenced by pathWithNames().

eZContentObjectTreeNode::pathWithNames (   $regenerateCurrent = false)
Returns
an url alias for the current node. It will generate a unique alias.
eZContentObjectTreeNode::remoteID ( )

Get remote id of content node, the remote ID is often used to synchronise imports and exports. If there is no remote ID a new unique one will be generated.

static eZContentObjectTreeNode::removeNode (   $nodeID = 0)
static
eZContentObjectTreeNode::removeNodeFromTree (   $moveToTrash = true)

Will check if you are removing the main node in which case it relocates the main node before removing it. It will also remove the object if there no more node assignments for it.

Parameters
$moveToTrashIf true it will move the object to trash, if false the object will be purged from the system.
Note
This uses remove() to do the actual node removal but has some extra logic
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
static eZContentObjectTreeNode::removeSubtrees (   $deleteIDArray,
  $moveToTrash = true,
  $infoOnly = false 
)
static

Will remove the nodes in the subtrees defined in $deleteIDArray, it will only remove the nodes unless there are no more nodes for an object in which case the object is removed too.

Parameters
$moveToTrashIf true it will move the object to trash, if false the object will be purged from the system.
$infoOnlyIf set to true then it will not remove the subtree but instead return information on what will happen if it is removed. See subtreeRemovalInformation() for the returned structure.
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentOperationCollection\deleteObject(), eZContentObjectOperations\remove(), eZContentOperationCollection\removeOldNodes(), subtreeRemovalInformation(), and eZContentObjectPackageHandler\uninstall().

eZContentObjectTreeNode::removeThis ( )

Removes the current node.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by removeNodeFromTree().

static eZContentObjectTreeNode::reverseRelatedCount (   $nodeIDArray)
staticprivate

Return reverse related count for specified node

Parameters
$nodeIDArray,arrayof node id's
Returns
reverse related count.

Referenced by removeSubtrees().

eZContentObjectTreeNode::serialize (   $options,
  $contentNodeIDArray,
  $topNodeIDArray 
)

Serialize ContentObjectTreeNode

$options contentNodeIDArray topNodeIDArray

eZContentObjectTreeNode::setContentObject (   $object)

Sets the current content object for this node.

eZContentObjectTreeNode::setCurrentLanguage (   $languageCode)
eZContentObjectTreeNode::setName (   $name)
static eZContentObjectTreeNode::setVersionByObjectID (   $objectID,
  $newVersion 
)
static
static eZContentObjectTreeNode::showInvisibleNodes ( )
static

static

Returns
true if we should show invisible nodes (determined by ini setting), false otherwise.

Referenced by eZNodeviewfunctions\contentViewGenerate(), and createShowInvisibleSQLString().

eZContentObjectTreeNode::sortArray ( )
Returns
an array which defines the sorting method for this node. The array will contain one element which is an array with sort field and sort order.

Referenced by children().

static eZContentObjectTreeNode::sortArrayBySortFieldAndSortOrder (   $sortField,
  $sortOrder 
)
static
Returns
an array which defines the sorting method for this node. The array will contain one element which is an array with sort field and sort order.

Referenced by eZContentStructureTreeOperator\createContentStructureNode(), and sortArray().

static eZContentObjectTreeNode::sortFieldID (   $sortFieldName)
static
Returns
the numeric sort field ID for the sort field name $sortFieldName. Gives a warning if the name is unknown and returns self::SORT_FIELD_PATH.

Referenced by eZContentClassPackageHandler\install(), and unserialize().

static eZContentObjectTreeNode::sortFieldName (   $sortFieldID)
static
Returns
the sort field name for the numeric sort field ID $sortFieldID. Gives a warning if the ID is unknown and returns 'path'.

Referenced by eZContentClassPackageHandler\classDOMTree(), serialize(), and sortArrayBySortFieldAndSortOrder().

static eZContentObjectTreeNode::sortKeyByClassAttributeID (   $classAttributeID)
static
Returns
the sort key for the given classAttributeID. int|string is returend. False is returned if unsuccessful.

Referenced by eZSearchEngine\buildSortSQL(), createAttributeFilterSQLStrings(), and createSortingSQLStrings().

eZContentObjectTreeNode::store (   $fieldFilters = null)
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentObjectTrashNode\storeToTrash().

eZContentObjectTreeNode::subTree (   $params = false)

Referenced by children().

eZContentObjectTreeNode::subTreeCount (   $params = array())

Count number of subnodes

Parameters
paramsarray

Referenced by childrenCount().

static eZContentObjectTreeNode::subTreeCountByNodeID (   $params = array(),
  $nodeID 
)
static
static eZContentObjectTreeNode::subTreeGroupByDateField (   $field,
  $type 
)
static

Referenced by createGroupBySQLStrings().

static eZContentObjectTreeNode::subTreeMultiPaths (   $nodesParams,
  $listParams = NULL 
)
static

Retrieve subtrees from multiple paths.

This method composes a list of objects retrieved from various node paths, sorted by criteria that are globally applied to the whole list.

It is for example useful for an RSS feed that serves content from several node paths. The respective subtrees need to be amalgated and the resulting object listed sorted by publishing date to show the latest entries in chronological order.

The first parameter is a multi-dimensional array containing the node IDs and filter criteria assigned to each of the nodes:

array( [node_1] => array( 'ClassFilterType' => [filter_type], 'ClassFilterArray' => [filter_array] ), [node_2] => array( 'ClassFilterType' => [filter_type], 'ClassFilterArray' => [filter_array] ) )

The second parameter is a single-dimensional array with criteria applied to the list of objects retrieved from the various subtrees:

array( 'SortBy' => [sorting-criteria] )

Referenced by eZRSSExportItem\fetchNodeList().

static eZContentObjectTreeNode::subtreeRemovalInformation (   $deleteIDArray)
static

Returns information on what will happen if all subtrees in $deleteIDArray is removed. The returned structure is:

  • move_to_trash - true if removed objects can be moved to trash, some objects are not allowed to be in trash (e.g user).
  • total_child_count - The total number of children for all delete items
  • can_remove_all - Will be set to true if all selected items can be removed, false otherwise
  • delete_list - A list of all subtrees that should be removed, structure: – node - The content node – object - The content object – class - The content class – node_name - The name of the node – child_count - Total number of child items below the node – can_remove - Boolean which tells if the user has permission to remove the node – can_remove_subtree - Boolean which tells if the user has permission to remove items in the subtree – new_main_node_id - The new main node ID for the node if it needs to be moved, or false if not – object_node_count - The number of nodes the object has (before removal) – sole_node_count - The number of nodes in the subtree (excluding current) that does not have multiple locations.
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentObjectPackageHandler\uninstall().

eZContentObjectTreeNode::subtreeSoleNodeCount (   $params = array())
Returns
The number of nodes in the current subtree that have no other placements.
static eZContentObjectTreeNode::unhideSubTree ( eZContentObjectTreeNode  $node,
  $modifyRootNode = true 
)
static

static

Parameters
$nodeRoot node of the subtree
$modifyRootNodeWhether to modify the root node (true/false)

Unhide algorithm: if ( parent node is visible ) { 1) Mark root node as not hidden and visible. 2) Recursively mark child nodes as visible (except for nodes previosly marked as hidden, and all their children). } else { Mark root node as not hidden. }

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentOperationCollection\changeHideStatus().

static eZContentObjectTreeNode::unserialize (   $contentNodeDOMNode,
  $contentObject,
  $version,
  $isMain,
$nodeList,
$options,
  $handlerType = 'ezcontentobject' 
)
static

Creates propper nodeassigment from contentNodeDOMNode specification

Parameters
contentobjecttreenodeDOMNode
contentobject.
version
isMain
options
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by checkAccess(), classListFromPolicy(), and eZContentObjectVersion\unserialize().

eZContentObjectTreeNode::updateAndStoreModified ( )

Update and store modified_subnode value for this node and all super nodes.

Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
static eZContentObjectTreeNode::updateMainNodeID (   $mainNodeID,
  $objectID,
  $version = false,
  $parentMainNodeID,
  $updateSection = true 
)
static

Updates the main node selection for the content object $objectID.

Parameters
$mainNodeIDThe ID of the node that should be that main node
$objectIDThe ID of the object that all nodes belong to
$versionThe version of the object to update node assignments, use false for currently published version.
$parentMainNodeIDThe ID of the parent node of the new main placement
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by eZContentObjectPackageHandler\installSuspendedNodeAssignment(), eZLDAPUser\publishUpdateUser(), eZContentOperationCollection\removeAssignment(), removeNodeFromTree(), eZContentObject\unserialize(), and eZContentOperationCollection\UpdateMainAssignment().

static eZContentObjectTreeNode::updateNodeVisibility (   $node,
  $parentNode,
  $recursive = true 
)
static

static Depending on the new parent node visibility, recompute "is_invisible" attribute for the given node and its children. (used after content/move or content/copy)

Referenced by copyObject(), eZWebDAVContentBackend\copyObject(), eZWebDAVContentBackend\copyObjectSameDirectory(), copyPublishContentObject(), and move().

eZContentObjectTreeNode::updatePathIdentificationString (   $pathIdentificationName)
private

Updates the path_identification_string field in ezcontentobject_tree by fetching the value from the parent and appending $pathIdentificationName.

Note
This stores the current object to the database

Referenced by updateSubTreePath().

eZContentObjectTreeNode::updateSubTreePath (   $updateParent = true,
  $nodeMove = false 
)
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.

Referenced by updateURLAlias().

eZContentObjectTreeNode::updateURLAlias ( )
Note
Transaction unsafe. If you call several transaction unsafe methods you must enclose the calls within a db transaction; thus within db->begin and db->commit.
Deprecated:
Use updateSubTreePath() instead.
eZContentObjectTreeNode::url ( )
eZContentObjectTreeNode::urlAlias ( )
eZContentObjectTreeNode::viewCount ( )

Get amount views of content node.

Member Data Documentation

eZContentObjectTreeNode::$ClassIdentifier = null

Contains the cached value of the class identifier.

eZContentObjectTreeNode::$ClassIsContainer = null
protected
eZContentObjectTreeNode::$ClassName = null
eZContentObjectTreeNode::$CurrentLanguage = false

The current language for the node.

Referenced by getName().

eZContentObjectTreeNode::$Name

Name of the node.

Referenced by getName().

const eZContentObjectTreeNode::SORT_FIELD_CLASS_IDENTIFIER = 6
const eZContentObjectTreeNode::SORT_FIELD_CLASS_NAME = 7
const eZContentObjectTreeNode::SORT_FIELD_DEPTH = 5
const eZContentObjectTreeNode::SORT_FIELD_MODIFIED = 3
const eZContentObjectTreeNode::SORT_FIELD_MODIFIED_SUBNODE = 10
const eZContentObjectTreeNode::SORT_FIELD_NAME = 9
const eZContentObjectTreeNode::SORT_FIELD_PATH = 1
const eZContentObjectTreeNode::SORT_FIELD_PRIORITY = 8
const eZContentObjectTreeNode::SORT_FIELD_PUBLISHED = 2
const eZContentObjectTreeNode::SORT_FIELD_SECTION = 4
const eZContentObjectTreeNode::SORT_ORDER_ASC = 1
const eZContentObjectTreeNode::SORT_ORDER_DESC = 0

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