/**
  * add node data
  *
  * @param array $data
  */
 function addNode(&$data)
 {
     $node_id = $this->createUniqueId();
     // We need PEAR File to read the nodes file
     include_once 'File.php';
     $fp =& new File();
     // Add navigation node body
     $node_body = SF_BASE_DIR . 'data/navigation/' . $node_id;
     if (!is_int($fp->write($node_body, commonUtil::stripSlashes($data['body']), FILE_MODE_WRITE))) {
         $this->B->{$data}['error'] = 'Could not write file: ' . $node_body;
         return FALSE;
     }
     $fp->unlock($node_body, FILE_MODE_WRITE);
     $this->B->node[$node_id]['title'] = commonUtil::transform($data['title']);
     $this->B->node[$node_id]['status'] = $data['status'];
     $this->B->node[$node_id]['order'] = $this->getLastOrderId((int) $data['parent_id']);
     $this->B->node[$node_id]['parent_id'] = (int) $data['parent_id'];
 }
 /**
  * get child nodes sorted by order
  *
  * @param array $data
  */
 function &getChildren(&$data)
 {
     $tmp = array();
     foreach ($this->B->node as $key => $val) {
         if ($val['parent_id'] == $data['node']) {
             if (isset($data['status'])) {
                 if ($val['status'] == $data['status']) {
                     $tmp[$val['order']] = $key;
                 }
                 continue;
             }
             $tmp[$val['order']] = $key;
         }
     }
     // ordered
     ksort($tmp);
     $result = array();
     foreach ($tmp as $val) {
         $result[$val]['title'] = commonUtil::transform($this->B->node[$val]['title']);
         $result[$val]['status'] = $this->B->node[$val]['status'];
         $result[$val]['order'] = $this->B->node[$val]['order'];
         $result[$val]['parent_id'] = $this->B->node[$val]['parent_id'];
     }
     unset($tmp);
     return $result;
 }