eZContentOperationCollection::updatePriority PHP Method

updatePriority() public static method

Updates the priority of a node
public static updatePriority ( integer $parentNodeID, array $priorityArray = [], array $priorityIDArray = [] ) : array
$parentNodeID integer
$priorityArray array
$priorityIDArray array
return array An array with operation status, always true
    public static function updatePriority($parentNodeID, $priorityArray = array(), $priorityIDArray = array())
    {
        $curNode = eZContentObjectTreeNode::fetch($parentNodeID);
        if ($curNode instanceof eZContentObjectTreeNode) {
            $db = eZDB::instance();
            $db->begin();
            for ($i = 0, $l = count($priorityArray); $i < $l; $i++) {
                $priority = (int) $priorityArray[$i];
                $nodeID = (int) $priorityIDArray[$i];
                $db->query("UPDATE\n                                  ezcontentobject_tree\n                              SET\n                                  priority={$priority}\n                              WHERE\n                                  node_id={$nodeID} AND parent_node_id={$parentNodeID}");
            }
            $curNode->updateAndStoreModified();
            $db->commit();
        }
        return array('status' => true);
    }

Usage Example

    /**
     * Updating priority sorting for given node
     *
     * @param mixed $args
     * @return array
     */
    public static function updatePriority( $args )
    {
        $http = eZHTTPTool::instance();

        if ( !$http->hasPostVariable('ContentNodeID')
                || !$http->hasPostVariable('PriorityID')
                    || !$http->hasPostVariable('Priority') )
        {
            return array();
        }

        $contentNodeID = $http->postVariable('ContentNodeID');
        $priorityArray = $http->postVariable('Priority');
        $priorityIDArray = $http->postVariable('PriorityID');

        $contentNode = eZContentObjectTreeNode::fetch( $contentNodeID );
        if ( !$contentNode->attribute( 'can_edit' ) )
        {
            eZDebug::writeError( 'Current user can not update the priorities because he has no permissions to edit the node' );
            return array();
        }

        if ( eZOperationHandler::operationIsAvailable( 'content_updatepriority' ) )
        {
            $operationResult = eZOperationHandler::execute( 'content', 'updatepriority',
                                                             array( 'node_id' => $contentNodeID,
                                                                    'priority' => $priorityArray,
                                                                    'priority_id' => $priorityIDArray ), null, true );
        }
        else
        {
            eZContentOperationCollection::updatePriority( $contentNodeID, $priorityArray, $priorityIDArray );
        }

        if ( $http->hasPostVariable( 'ContentObjectID' ) )
        {
            $objectID = $http->postVariable( 'ContentObjectID' );
            eZContentCacheManager::clearContentCache( $objectID );
        }
    }
All Usage Examples Of eZContentOperationCollection::updatePriority