示例#1
0
 function create($parent_id = 0, $ordering = 999)
 {
     $db = oseDB::instance();
     $query = " SELECT count(*) FROM `#__osemsc_acl`" . " WHERE parent_id = {$parent_id} AND ordering ={$ordering} ";
     $db->setQuery($query);
     $existSibling = $db->loadResult();
     if ($existSibling > 0) {
         if (!oseMscTree::add(array('parent_id' => $parent_id, 'ordering' => 999))) {
             return false;
         }
         $node = oseMscTree::getNodeByOrder($parent_id, '999', 'obj');
         oseMscTree::treeOrderChange($node, $ordering);
         oseMscTree::orderChange($node, $ordering);
         oseMscTree::reorder($parent_id);
     } else {
         // At the first time
         if (oseMscTree::isEmpty(0)) {
             $parent_id = 0;
             $ordering = 1;
         }
         if (!oseMscTree::add(array('parent_id' => $parent_id, 'ordering' => $ordering))) {
             return false;
         }
         $node = oseMscTree::getNodeByOrder($parent_id, $ordering, 'obj');
         oseMscTree::reorder($parent_id);
     }
     return $node->id;
 }