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; } } }