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);
    }
  }
Example #3
0
*
* 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";
Example #4
0
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);