diff --git a/draft/NestedSet.php b/draft/NestedSet.php new file mode 100644 index 000000000..02f06810c --- /dev/null +++ b/draft/NestedSet.php @@ -0,0 +1,53 @@ +. + */ +/** + * Doctrine_Tree_NestedSet + * + * the purpose of Doctrine_Tree_NestedSet is to provide NestedSet tree access + * strategy for all records extending it + * + * @package Doctrine ORM + * @url www.phpdoctrine.com + * @license LGPL + */ +class Doctrine_Tree_NestedSet extends Doctrine_Record { + + public function getLeafNodes() { + $query = "SELECT ".implode(", ",$this->table->getColumnNames()). + " FROM ".$this->table->getTableName(). + " WHERE rgt = lft + 1"; + } + + public function getPath() { } + + public function getDepth() { + $query = "SELECT (COUNT(parent.name) - 1) AS depth + FROM ".$this->table->getTableName()." AS node,". + $this->table->getTableName()." AS parent + WHERE node.lft BETWEEN parent.lft AND parent.rgt + GROUP BY node.name"; + } + + public function removeNode() { } + + public function addNode() { } +} + diff --git a/draft/PathModel.php b/draft/PathModel.php new file mode 100644 index 000000000..6e6431cd7 --- /dev/null +++ b/draft/PathModel.php @@ -0,0 +1,44 @@ +. + */ +/** + * Doctrine_Tree_PathModel + * + * the purpose of Doctrine_Tree_PathModel is to provide PathModel tree access + * strategy for all records extending it + * + * @package Doctrine ORM + * @url www.phpdoctrine.com + * @license LGPL + */ +class Doctrine_Tree_PathModel extends Doctrine_Record { + + public function getLeafNodes() { } + + public function getPath() { } + + public function getDepth() { } + + public function removeNode() { } + + public function addNode() { } + +} + diff --git a/lib/Doctrine/Tree.php b/draft/Tree.php similarity index 100% rename from lib/Doctrine/Tree.php rename to draft/Tree.php