public function move(Node $newParent) { $db = Loader::db(); $treeNodeDisplayOrder = $db->GetOne('select count(treeNodeDisplayOrder) from TreeNodes where treeNodeParentID = ?', array($newParent->getTreeNodeID())); if (!$treeNodeDisplayOrder) { $treeNodeDisplayOrder = 0; } $db->Execute('update TreeNodes set treeNodeParentID = ?, treeNodeDisplayOrder = ? where treeNodeID = ?', array($newParent->getTreeNodeID(), $treeNodeDisplayOrder, $this->treeNodeID)); if (!$this->overrideParentTreeNodePermissions()) { $db->Execute('update TreeNodes set inheritPermissionsFromTreeNodeID = ? where treeNodeID = ?', array($newParent->getTreeNodePermissionsNodeID(), $this->treeNodeID)); } $oldParent = $this->getTreeNodeParentObject(); if (is_object($oldParent)) { $oldParent->rescanChildrenDisplayOrder(); } $newParent->rescanChildrenDisplayOrder(); $this->treeNodeParentID = $newParent->getTreeNodeID(); $this->treeNodeDisplayOrder = $treeNodeDisplayOrder; }