public function prependChild(User_Model_Node $node, $data) { $newNode = $this->fetchNew(); $newNode->setFromArray($data); $anchor = $node->pleft; $newNode->pleft = $anchor + 1; $newNode->pright = $anchor + 2; $newNode->parent_id = $node->getIdentity(); $db = $this->getAdapter(); $tableName = $this->info('name'); try { $db->beginTransaction(); $db->update($tableName, array('pright' => new Zend_Db_Expr('pright+2')), array('pright > ?' => $anchor)); $db->update($tableName, array('pleft' => new Zend_Db_Expr('pleft+2')), array('pleft > ?' => $anchor)); $newNode->save(); if (!empty($data['photo'])) { $newNode->setPhoto($data['photo']); } $this->updateTree(); $db->commit(); } catch (Exception $e) { $db->rollBack(); throw $e; } }
public function deleteNode(User_Model_Node $node, $node_id = NULL) { $result = $node->getDescendent(true); $db = $this->getAdapter(); parent::deleteNode($node); }