/** * setSelectData * @param type $table */ public function setSelectData() { $arrConditions = array('delete_flg' => 0, 'status' => 1); $arrOutput = array(); $this->arrCommon['parents'] = array(); $this->arrCommon['brand_id'] = array(); $this->arrCommon['category_id'] = array(); $this->arrCommon['list_roles'] = array(); $this->arrCommon['modules'] = array(); $this->arrCommon['title_id'] = array(); switch ($this->arrCommon['table']) { case 'brands': createMultiLevel($arrOutput, $arrConditions, 'categories_model'); $this->arrCommon['categories'][''] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['categories'][$output['id']] = $output['name']; } $arrMenus = $this->brands_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'categories': createMultiLevel($arrOutput, $arrConditions, 'categories_model'); $this->arrCommon['parents'][0] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['parents'][$output['id']] = $output['name']; } $arrMenus = $this->categories_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'products': $this->arrCommon['categories'] = ''; createMultiLevel($arrOutput, $arrConditions, 'categories_model'); $this->arrCommon['category_id'][''] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['category_id'][$output['id']] = $output['name']; } $brands = $this->brands_model->search($arrConditions); $this->arrCommon['brand_id'][''] = '---'; foreach ($brands as $output) { $this->arrCommon['brand_id'][$output['id']] = $output['name']; } $arrMenus = $this->products_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'users': $roles = $this->roles_model->search($arrConditions); $this->arrCommon['list_roles'][''] = '---'; foreach ($roles as $output) { $this->arrCommon['list_roles'][$output['id']] = $output['name']; } break; case 'modules': createMultiLevel($arrOutput, $arrConditions, 'modules_model'); $this->arrCommon['parents'][0] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['parents'][$output['id']] = $output['name']; } $arrMenus = $this->modules_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'roles': unset($arrConditions['wheres']['status']); createMultiLevel($arrOutput, $arrConditions, 'modules_model'); $this->arrCommon['modules'][0] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['modules'][$output['id']] = $output['name']; } break; case 'titles': createMultiLevel($arrOutput, $arrConditions, 'titles_model'); $this->arrCommon['parents'][''] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['parents'][$output['id']] = $output['name']; } if (isset($this->arrCommon['form_data']['parent'])) { $arrConditions['parent'] = $this->arrCommon['form_data']['parent']; } else { $arrConditions['parent'] = 0; } $arrMenus = $this->titles_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'news': createMultiLevel($arrOutput, $arrConditions, 'titles_model'); $this->arrCommon['title_id'][0] = '---'; foreach ($arrOutput as $output) { $this->arrCommon['title_id'][$output['id']] = $output['name']; } $arrMenus = $this->news_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'menus': $arrMenus = $this->menus_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrMenus as $menu) { $this->arrCommon['orderBy'][$menu['order_by']] = $menu['name']; } break; case 'slides': $arrSlides = $this->slides_model->search($arrConditions); $this->arrCommon['orderBy'][0] = '--- Tự sắp xếp ---'; foreach ($arrSlides as $slide) { $this->arrCommon['orderBy'][$slide['order_by']] = $slide['name']; } break; } }
function createMultiLevel(&$output = array(), $arrConditions = array(), $model = '', $leftMenu = false) { // get the CI object $CI =& get_instance(); if (!isset($arrConditions['parent']) && !isset($arrConditions['id'])) { $arrConditions['parent'] = 0; } $arrParents = $CI->{$model}->search($arrConditions); foreach ($arrParents as $parent) { $arrConditions['parent'] = $parent['id']; $cnt = $CI->{$model}->search($arrConditions, MODE_CNT); if ($cnt > 0) { $output[] = array('id' => $parent['id'], 'name' => !$leftMenu ? $parent['icon'] . $parent['name'] : $parent['name'], 'is_group' => isset($parent['is_group']) ? $parent['is_group'] : 0, 'url' => isset($parent['url']) ? $parent['url'] : 0, 'status' => $parent['status'], 'delete_flg' => $parent['delete_flg'], 'parent' => isset($parent['parent_id']) ? $parent['parent_id'] : 0); $arrCons = array(); $arrCons['parent'] = $parent['id']; createMultiLevel($output, $arrCons, $model, $leftMenu); } else { $output[] = array('id' => $parent['id'], 'name' => !$leftMenu ? $parent['icon'] . $parent['name'] : $parent['name'], 'is_group' => isset($parent['is_group']) ? $parent['is_group'] : 0, 'url' => isset($parent['url']) ? $parent['url'] : 0, 'status' => $parent['status'], 'delete_flg' => $parent['delete_flg'], 'parent' => isset($parent['parent_id']) ? $parent['parent_id'] : 0); } } }