Exemplo n.º 1
0
 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;
 }