Beispiel #1
0
 private function _initEditPage()
 {
     $db = JFactory::getDbo();
     $node_id = JRequest::getInt('id');
     $arrChucvu = array();
     if ((int) $node_id > 0) {
         $model = JModelLegacy::getInstance('Goichucvu', 'TochucModel');
         $row = $model->read($node_id);
         $arrChucvu = $model->getChucvuByIdGoichucvu($row->id);
     } else {
         $row = new stdClass();
         $row->status = 1;
         //$row->id = 0;
         $row->parent_id = JRequest::getInt('parent_id', 0);
     }
     //var_dump($row);
     // lay du lieu tree
     //     	$query = "SELECT a.id,a.parent_id,a.name as data,IF(b.goichucvu_id IS NOT NULL,'jstree-checked','jstree-unchecked') AS class,IF(a.chucvu = 1,'file','folder') AS type  FROM pos_system a LEFT JOIN cb_goichucvu_chucvu b ON b.pos_system_id = a.id AND b.goichucvu_id = ".$db->quote($node_id)." WHERE a.status = 1";
     $query = "SELECT a.id,a.parent_id,a.name as data,IF(a.chucvu = 1,'file','folder') AS type  FROM pos_system a  WHERE a.status = 1";
     $db->setQuery($query);
     $inArray = $db->loadAssocList();
     //var_dump($inArray);
     $tree_data_pos_system = array();
     AdminTochucHelper::makeParentChildRelationsForTree($inArray, &$tree_data_pos_system, 5);
     unset($inArray);
     $query = "SELECT a.id,a.parent_id,a.name,IF(b.ins_level_id IS NOT NULL,'jstree-checked','jstree-unchecked') AS class,IF((a.rgt-a.lft) = 1,'file','folder') AS type FROM ins_level a LEFT JOIN cb_goichucvu b ON b.ins_level_id = a.id AND b.id =  " . $db->quote($node_id) . " WHERE a.status = 1";
     $db->setQuery($query);
     $inArray = $db->loadAssocList();
     //var_dump($inArray);
     $tree_data_ins_level = array();
     AdminTochucHelper::makeParentChildRelationsForTree($inArray, &$tree_data_ins_level, 0);
     unset($inArray);
     $this->assignRef('row', $row);
     $this->assignRef('arrChucvu', $arrChucvu);
     $this->assignRef('tree_data_pos_system', $tree_data_pos_system);
     $this->assignRef('tree_data_ins_level', $tree_data_ins_level);
 }
 static function makeParentChildRelationsForTree(&$inArray, &$outArray, $currentParentId = 0)
 {
     if (!is_array($inArray)) {
         return;
     }
     if (!is_array($outArray)) {
         return;
     }
     foreach ($inArray as $key => $tuple) {
         if ($tuple['parent_id'] == $currentParentId) {
             $tuple['attr']['id'] = 'node_' . $tuple['id'];
             if ($tuple['class'] != null) {
                 $tuple['attr']['class'] = $tuple['class'];
             }
             if ($tuple['data'] == null) {
                 $tuple['data'] = $tuple['name'];
             }
             if ($tuple['type'] != null) {
                 $tuple['attr']['rel'] = $tuple['type'];
             }
             $tuple['attr']['title'] = $tuple['name'];
             $tuple['children'] = array();
             AdminTochucHelper::makeParentChildRelationsForTree($inArray, $tuple['children'], $tuple['id']);
             $outArray[] = $tuple;
         }
     }
 }