static function updateMainNodeID($mainNodeID, $objectID, $version = false, $parentMainNodeID, $updateSection = true) { $mainNodeID = (int) $mainNodeID; $parentMainNodeID = (int) $parentMainNodeID; $objectID = (int) $objectID; $version = (int) $version; $db = eZDB::instance(); $db->begin(); $db->query("UPDATE ezcontentobject_tree SET main_node_id={$mainNodeID} WHERE contentobject_id={$objectID}"); if (!$version) { $rows = $db->arrayQuery("SELECT current_version FROM ezcontentobject WHERE id={$objectID}"); $version = $rows[0]['current_version']; } $db->query("UPDATE eznode_assignment SET is_main=1 WHERE contentobject_id={$objectID} AND contentobject_version={$version} AND parent_node={$parentMainNodeID}"); $db->query("UPDATE eznode_assignment SET is_main=0 WHERE contentobject_id={$objectID} AND contentobject_version={$version} AND parent_node!={$parentMainNodeID}"); $contentObject = eZContentObject::fetch($objectID); $parentContentObject = eZContentObject::fetchByNodeID($parentMainNodeID); if ($updateSection && $contentObject->attribute('section_id') != $parentContentObject->attribute('section_id')) { $newSectionID = $parentContentObject->attribute('section_id'); eZContentObjectTreeNodeNoLanguage::assignSectionToSubTree($mainNodeID, $newSectionID); } $db->commit(); }