public static function getModulos() { $dao = new ModuloDao(); $data = $dao->getModulos($_GET); $itemsByReference = array(); // Build array of item references: foreach ($data as $key => &$item) { $itemsByReference[$item['cod_modulo']] =& $item; // Children array: $itemsByReference[$item['cod_modulo']]['nodes'] = array(); // Empty data class (so that json_encode adds "data: {}" ) // $itemsByReference[$item['cod_modulo']]['data'] = new StdClass(); } // Set items as children of the relevant parent item. foreach ($data as $key => &$item) { if ($item['cod_modulo_pai'] && isset($itemsByReference[$item['cod_modulo_pai']])) { $itemsByReference[$item['cod_modulo_pai']]['nodes'][] =& $item; } } // Remove items that were added to parents elsewhere: foreach ($data as $key => &$item) { if ($item['cod_modulo_pai'] && isset($itemsByReference[$item['cod_modulo_pai']])) { unset($data[$key]); } } Flight::json($data); }
public static function getMenuByUser($id_empreendimento, $id_usuario) { $ModuloDao = new ModuloDao(); $Menu = $ModuloDao->getMenu($id_empreendimento, $id_usuario); if ($Menu) { Flight::json($Menu); } else { Flight::halt(404, 'Não há resultado para a busca'); } }
public function getMenu($id_empreendimento, $id_usuario) { $ModuloDao = new ModuloDao(); $modulos = $ModuloDao->getModulos($id_empreendimento, null, $id_usuario, array('cplSql' => ' WHERE flg_permissao = 1 ORDER BY psc_menu_modulo ASC')); $menu = array(); $modulos = is_array($modulos) ? $modulos : array(); foreach ($modulos as $key => $value) { if (empty($value['id_modulo_pai'])) { $value['itens'] = $this->SubMenuConstruct($value, $modulos); $menu[] = $value; } } return $menu; }