PHP Class eZ\Publish\Core\Persistence\Legacy\Content\Location\Gateway\DoctrineDatabase

Inheritance: extends eZ\Publish\Core\Persistence\Legacy\Content\Location\Gateway
Show file Open project: ezsystems/ezpublish-kernel

Protected Properties

Property Type Description
$handler eZ\Publish\Core\Persistence\Database\DatabaseHandler Database handler.

Public Methods

Method Description
__construct ( eZ\Publish\Core\Persistence\Database\DatabaseHandler $handler ) Construct from database handler.
changeMainLocation ( mixed $contentId, mixed $locationId, mixed $versionNo, mixed $parentLocationId ) Changes main location of content identified by given $contentId to location identified by given $locationId.
cleanupTrash ( ) Removes every entries in the trash.
countLocationsByContentId ( integer $contentId ) : integer Returns how many locations given content object identified by $contentId has.
create ( eZ\Publish\SPI\Persistence\Content\Location\CreateStruct $createStruct, array $parentNode ) : eZ\Publish\SPI\Persistence\Content\Location Creates a new location in given $parentNode.
createLocationsFromNodeAssignments ( mixed $contentId, mixed $versionNo ) Create locations from node assignments.
createNodeAssignment ( eZ\Publish\SPI\Persistence\Content\Location\CreateStruct $createStruct, mixed $parentNodeId, integer $type = self::NODE_ASSIGNMENT_OP_CODE_CREATE_NOP ) Create an entry in the node assignment table.
deleteNodeAssignment ( integer $contentId, integer | null $versionNo = null ) Deletes node assignment for given $contentId and $versionNo.
getBasicNodeData ( mixed $nodeId ) : array Returns an array with basic node data.
getBasicNodeDataByRemoteId ( mixed $remoteId ) : array Returns an array with basic node data.
getChildren ( mixed $locationId ) : array Returns data for the first level children of the location identified by given $locationId.
getFallbackMainNodeData ( mixed $contentId, mixed $locationId ) : array Returns id of the next in line node to be set as a new main node.
getSubtreeContent ( mixed $sourceId, boolean $onlyIds = false ) : array Find all content in the given subtree.
hideSubtree ( string $pathString ) Sets a location to be hidden, and it self + all children to invisible.
listTrashed ( integer $offset, integer $limit, array $sort = null ) : array List trashed items.
loadLocationDataByContent ( integer $contentId, integer $rootLocationId = null ) : array Loads data for all Locations for $contentId, optionally only in the subtree starting at $rootLocationId.
loadParentLocationsDataForDraftContent ( $contentId, $drafts = null )
loadTrashByLocation ( mixed $locationId ) : array Loads trash data specified by location ID.
moveSubtreeNodes ( array $sourceNodeData, array $destinationNodeData ) Update path strings to move nodes in the ezcontentobject_tree table.
removeElementFromTrash ( integer $id ) Removes trashed element identified by $id from trash.
removeLocation ( mixed $locationId ) Deletes ezcontentobject_tree row for given $locationId (node_id).
setSectionForSubtree ( mixed $pathString, mixed $sectionId ) : boolean Set section on all content objects in the subtree.
swap ( mixed $locationId1, mixed $locationId2 ) : boolean Swaps the content object being pointed to by a location object.
trashLocation ( mixed $locationId ) : boolean Sends a single location identified by given $locationId to the trash.
unHideSubtree ( string $pathString ) Sets a location to be unhidden, and self + children to visible unless a parent is hiding the tree.
untrashLocation ( mixed $locationId, mixed | null $newParentId = null ) : eZ\Publish\SPI\Persistence\Content\Location Returns a trashed location to normal state.
update ( eZ\Publish\SPI\Persistence\Content\Location\UpdateStruct $location, integer $locationId ) Updates an existing location.
updateLocationsContentVersionNo ( mixed $contentId, mixed $versionNo ) Updates all Locations of content identified with $contentId with $versionNo.
updateNodeAssignment ( integer $contentObjectId, integer $oldParent, integer $newParent, integer $opcode ) Update node assignment table.
updatePathIdentificationString ( mixed $locationId, mixed $parentLocationId, string $text ) Updates path identification string for given $locationId.
updateSubtreeModificationTime ( string $pathString, integer | null $timestamp = null ) Updated subtree modification time for all nodes on path.

Protected Methods

Method Description
applySubtreeLimitation ( eZ\Publish\Core\Persistence\Database\Query $query, string $rootLocationId ) Limits the given $query to the subtree starting at $rootLocationId.
setContentStatus ( mixed $contentId, integer $status )

Private Methods

Method Description
getMainNodeId ( integer $contentId ) : integer | boolean Searches for the main nodeId of $contentId in $versionId.
isHiddenByParent ( $pathString, array $rows )

Method Details

__construct() public method

Construct from database handler.
public __construct ( eZ\Publish\Core\Persistence\Database\DatabaseHandler $handler )
$handler eZ\Publish\Core\Persistence\Database\DatabaseHandler

applySubtreeLimitation() protected method

Limits the given $query to the subtree starting at $rootLocationId.
protected applySubtreeLimitation ( eZ\Publish\Core\Persistence\Database\Query $query, string $rootLocationId )
$query eZ\Publish\Core\Persistence\Database\Query
$rootLocationId string

changeMainLocation() public method

Updates ezcontentobject_tree table for the given $contentId and eznode_assignment table for the given $contentId, $parentLocationId and $versionNo
public changeMainLocation ( mixed $contentId, mixed $locationId, mixed $versionNo, mixed $parentLocationId )
$contentId mixed
$locationId mixed
$versionNo mixed version number, needed to update eznode_assignment table
$parentLocationId mixed parent location of location identified by $locationId, needed to update eznode_assignment table

cleanupTrash() public method

Will NOT remove associated content objects nor attributes. Basically truncates ezcontentobject_trash table.
public cleanupTrash ( )

countLocationsByContentId() public method

Returns how many locations given content object identified by $contentId has.
public countLocationsByContentId ( integer $contentId ) : integer
$contentId integer
return integer

create() public method

Creates a new location in given $parentNode.
public create ( eZ\Publish\SPI\Persistence\Content\Location\CreateStruct $createStruct, array $parentNode ) : eZ\Publish\SPI\Persistence\Content\Location
$createStruct eZ\Publish\SPI\Persistence\Content\Location\CreateStruct
$parentNode array
return eZ\Publish\SPI\Persistence\Content\Location

createLocationsFromNodeAssignments() public method

Convert existing node assignments into real locations.
public createLocationsFromNodeAssignments ( mixed $contentId, mixed $versionNo )
$contentId mixed
$versionNo mixed

createNodeAssignment() public method

Create an entry in the node assignment table.
public createNodeAssignment ( eZ\Publish\SPI\Persistence\Content\Location\CreateStruct $createStruct, mixed $parentNodeId, integer $type = self::NODE_ASSIGNMENT_OP_CODE_CREATE_NOP )
$createStruct eZ\Publish\SPI\Persistence\Content\Location\CreateStruct
$parentNodeId mixed
$type integer

deleteNodeAssignment() public method

If $versionNo is not passed all node assignments for given $contentId are deleted
public deleteNodeAssignment ( integer $contentId, integer | null $versionNo = null )
$contentId integer
$versionNo integer | null

getBasicNodeData() public method

We might want to cache this, since this method is used by about every method in the location handler.
public getBasicNodeData ( mixed $nodeId ) : array
$nodeId mixed
return array

getBasicNodeDataByRemoteId() public method

Returns an array with basic node data.
public getBasicNodeDataByRemoteId ( mixed $remoteId ) : array
$remoteId mixed
return array

getChildren() public method

Returns data for the first level children of the location identified by given $locationId.
public getChildren ( mixed $locationId ) : array
$locationId mixed
return array

getFallbackMainNodeData() public method

This returns lowest node id for content identified by $contentId, and not of the node identified by given $locationId (current main node). Assumes that content has more than one location.
public getFallbackMainNodeData ( mixed $contentId, mixed $locationId ) : array
$contentId mixed
$locationId mixed
return array

getSubtreeContent() public method

Find all content in the given subtree.
public getSubtreeContent ( mixed $sourceId, boolean $onlyIds = false ) : array
$sourceId mixed
$onlyIds boolean
return array

hideSubtree() public method

Sets a location to be hidden, and it self + all children to invisible.
public hideSubtree ( string $pathString )
$pathString string

listTrashed() public method

List trashed items.
public listTrashed ( integer $offset, integer $limit, array $sort = null ) : array
$offset integer
$limit integer
$sort array
return array

loadLocationDataByContent() public method

Loads data for all Locations for $contentId, optionally only in the subtree starting at $rootLocationId.
public loadLocationDataByContent ( integer $contentId, integer $rootLocationId = null ) : array
$contentId integer
$rootLocationId integer
return array

loadParentLocationsDataForDraftContent() public method

See also: eZ\Publish\Core\Persistence\Legacy\Content\Location\Gateway::loadParentLocationsDataForDraftContent
public loadParentLocationsDataForDraftContent ( $contentId, $drafts = null )

loadTrashByLocation() public method

Loads trash data specified by location ID.
public loadTrashByLocation ( mixed $locationId ) : array
$locationId mixed
return array

moveSubtreeNodes() public method

This query can likely be optimized to use some more advanced string operations, which then depend on the respective database.
public moveSubtreeNodes ( array $sourceNodeData, array $destinationNodeData )
$sourceNodeData array
$destinationNodeData array

removeElementFromTrash() public method

Will NOT remove associated content object nor attributes.
public removeElementFromTrash ( integer $id )
$id integer The trashed location Id

removeLocation() public method

Deletes ezcontentobject_tree row for given $locationId (node_id).
public removeLocation ( mixed $locationId )
$locationId mixed

setContentStatus() protected method

protected setContentStatus ( mixed $contentId, integer $status )
$contentId mixed
$status integer

setSectionForSubtree() public method

Set section on all content objects in the subtree.
public setSectionForSubtree ( mixed $pathString, mixed $sectionId ) : boolean
$pathString mixed
$sectionId mixed
return boolean

swap() public method

Make the location identified by $locationId1 refer to the Content referred to by $locationId2 and vice versa.
public swap ( mixed $locationId1, mixed $locationId2 ) : boolean
$locationId1 mixed
$locationId2 mixed
return boolean

trashLocation() public method

The associated content object is left untouched.
public trashLocation ( mixed $locationId ) : boolean
$locationId mixed
return boolean

unHideSubtree() public method

If not make sure only children down to first hidden node is marked visible.
public unHideSubtree ( string $pathString )
$pathString string

untrashLocation() public method

Recreates the originally trashed location in the new position. If no new position has been specified, it will be tried to re-create the location at the old position. If this is not possible ( because the old location does not exist any more) and exception is thrown.
public untrashLocation ( mixed $locationId, mixed | null $newParentId = null ) : eZ\Publish\SPI\Persistence\Content\Location
$locationId mixed
$newParentId mixed | null
return eZ\Publish\SPI\Persistence\Content\Location

update() public method

Will not throw anything if location id is invalid or no entries are affected.
public update ( eZ\Publish\SPI\Persistence\Content\Location\UpdateStruct $location, integer $locationId )
$location eZ\Publish\SPI\Persistence\Content\Location\UpdateStruct
$locationId integer

updateLocationsContentVersionNo() public method

Updates all Locations of content identified with $contentId with $versionNo.
public updateLocationsContentVersionNo ( mixed $contentId, mixed $versionNo )
$contentId mixed
$versionNo mixed

updateNodeAssignment() public method

Update node assignment table.
public updateNodeAssignment ( integer $contentObjectId, integer $oldParent, integer $newParent, integer $opcode )
$contentObjectId integer
$oldParent integer
$newParent integer
$opcode integer

updatePathIdentificationString() public method

Updates path identification string for given $locationId.
public updatePathIdentificationString ( mixed $locationId, mixed $parentLocationId, string $text )
$locationId mixed
$parentLocationId mixed
$text string

updateSubtreeModificationTime() public method

Updated subtree modification time for all nodes on path.
public updateSubtreeModificationTime ( string $pathString, integer | null $timestamp = null )
$pathString string
$timestamp integer | null

Property Details

$handler protected property

Database handler.
protected DatabaseHandler,eZ\Publish\Core\Persistence\Database $handler
return eZ\Publish\Core\Persistence\Database\DatabaseHandler