function _insertFakeSysSiteObjectRecords() { $class_db_table = DbTableFactory :: create('SysClass'); $class_db_table->insert(array('id' => 1001, 'class_name' => 'fake_class')); $tree = new MaterializedPathTree(); $db_table =& DbTableFactory :: create('SysSiteObject'); $data = array(); for($i = 6; $i <= 10 ; $i++) { $this->db->sqlInsert('sys_site_object', array( 'id' => $i, 'class_id' => 1001, 'behaviour_id' => $this->behaviour_id, 'identifier' => 'object_' . $i, 'title' => 'object_' . $i . '_title', 'status' => 0, 'locale_id' => 'en', ) ); $values['identifier'] = 'object_' . $i; $values['object_id'] = $i; $tree->createSubNode($this->root_node_id, $values); } }
function _insertNodeRecords() { $tree = new MaterializedPathTree(); $values['identifier'] = 'root'; $this->root_node_id = $tree->createRootNode($values, false, true); $data = array(); for($i = 1; $i <= 3; $i++) { $values['identifier'] = 'object_' . $i; $this->object2node[$i] = $tree->createSubNode($this->root_node_id, $values); } for(; $i <= 5; $i++) { $values['identifier'] = 'object_' . $i; $this->object2node[$i] = $tree->createSubNode($this->object2node[2], $values); } }
* * Released under the LGPL license (http://www.gnu.org/copyleft/lesser.html) *********************************************************************************** * * $Id$ * ***********************************************************************************/ if(isset($argv[1])) $project_dir = $argv[1]; else die('project dir required'); require_once($project_dir . '/setup.php'); require_once(LIMB_DIR . '/class/core/tree/MaterializedPathTree.class.php'); $tree = new MaterializedPathTree(); $driver = $tree->getDriver(); $tree_table = $driver->getNodeTable(); $root_nodes = $tree->getRootNodes(); $db = DbFactory :: instance(); echo 'total roots: ' . sizeof($root_ns_nodes) . "\n"; foreach($root_nodes as $root_node) { $sub_branch = $tree->getSubBranch($root_node['id'], -1); $branch_size = sizeof($sub_branch); echo 'total nodes in current root: ' . $branch_size . "\n";
if(isset($argv[3])) $mp_table = $argv[3]; else $mp_table = 'sys_site_object_tree'; require_once($project_dir . '/setup.php'); require_once(LIMB_DIR . '/class/core/tree/drivers/NestedSetsTree.class.php'); require_once(LIMB_DIR . '/class/core/tree/MaterializedPathTree.class.php'); $db = DbFactory :: instance(); $db->sqlDelete($mp_table); $ns = new NestedSetsTree(); $ns->setNodeTable($ns_table); $mp = new MaterializedPathTree(); $mp->setNodeTable($mp_table); $root_ns_nodes = $ns->getRootNodes(); $mp->setDumbMode(); echo 'total roots: ' . sizeof($root_ns_nodes) . "\n"; foreach($root_ns_nodes as $root_node) { unset($root_node['l']); unset($root_node['r']); unset($root_node['ordr']); $mp->createRootNode($root_node); $sub_branch = $ns->getSubBranch($root_node['id'], -1);