function Gerar() { @session_start(); $id_pessoa = $_SESSION['id_pessoa']; @session_write_close(); $this->titulo = "Detalhe do Menu"; $this->addBanner("imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet"); $cod_menu = @$_GET['cod_menu']; $obj_menu_suspenso = new clsMenuSuspenso(); $lista = $obj_menu_suspenso->lista(false, false, false, false, false, false, false, false, $cod_menu, false, false, "cod_menu ASC, ord_menu ASC"); if ($lista) { $tabela = "<style> .tds{ padding-left:5px; padding-right:5px; }</style>"; $tabela .= "<table border='0' cellpadding='1' cellspacing='3' width='100%'>"; $tabela .= "<tr bgcolor='#B3BABF'><td class='tds'>Ordem</td><td class='tds'>Menu Pai</td><td class='tds'nowrap>Submenu</td><td class='tds'>Título</td><td class='tds'>Ícone</td><td class='tds'>Caminho</td><td class='tds'>Supre</td></tr>"; foreach ($lista as $menu) { $ref_cod_menu_pai = $menu['ref_cod_menu_pai']; $obj_menu_suspenso2 = new clsMenuSuspenso($ref_cod_menu_pai); $detalhe = $obj_menu_suspenso2->detalhe(); $ds_menu_pai = $detalhe['tt_menu']; $ref_cod_menu_submenu = $menu['ref_cod_menu_submenu']; if ($ref_cod_menu_submenu) { $db = new clsBanco(); $ds_menu_submenu = $db->CampoUnico("SELECT nm_submenu FROM menu_submenu WHERE cod_sistema = 2 AND cod_menu_submenu = {$ref_cod_menu_submenu}"); } $suprime_menu = $menu['suprime_menu']; if ($suprime_menu == 1) { $ds_suprime_menu = 'Sim'; } else { $ds_suprime_menu = 'Não'; } $ObjImagem = new clsPortalImagem($menu[4]); $detalheImagem = $ObjImagem->detalhe(); if ($detalheImagem) { $ico_menu = "<img src='imagens/banco_imagens/{$detalheImagem['caminho']}' alt='' title='' width='12' height='12'>"; } else { $ico_menu = "S/"; } $titulo = $menu['tt_menu']; $ordem = $menu['ord_menu']; $caminho = $menu['caminho']; $alvo = $menu['alvo']; $tabela .= "<tr><td class='tds' align='right'>{$ordem}</td><td class='tds' align='right'>{$ds_menu_pai}</td><td class='tds'>{$ds_menu_submenu}</td><td class='tds'>{$titulo}</td><td class='tds'align='center'>{$ico_menu}</td><td class='tds'>{$caminho}<td class='tds'align='center'>{$ds_suprime_menu}</td></tr>"; } $tabela .= "</table>"; } $this->addDetalhe(array("Menu", $tabela)); //$this->url_novo = "menu_suspenso_cad.php"; $this->url_editar = "menu_suspenso_cad.php?cod_menu={$cod_menu}"; $this->url_cancelar = "menu_suspenso_lst.php"; $this->largura = "100%"; }
/** * Cria o menu suspenso dos subsistemas Escola e Biblioteca. * * @todo Refatorar lógica do primeiro par if/else, duplicação * @return bool|string Retorna FALSE em caso de erro */ function makeMenuSuspenso() { // Usa helper de Url para pegar o path da requisição require_once 'CoreExt/View/Helper/UrlHelper.php'; $uri = explode('/', CoreExt_View_Helper_UrlHelper::url($_SERVER['REQUEST_URI'], array('components' => CoreExt_View_Helper_UrlHelper::URL_PATH))); @session_start(); $idpes = $_SESSION['id_pessoa']; @session_write_close(); $submenu = array(); $menu_tutor = ''; if ($this->processoAp) { $menu_atual = $this->db()->UnicoCampo("SELECT ref_cod_menu_menu FROM menu_submenu WHERE cod_menu_submenu = '{$this->processoAp}'"); if ($menu_atual) { $this->db()->Consulta("SELECT cod_menu_submenu FROM menu_submenu WHERE ref_cod_menu_menu = '{$menu_atual}'"); while ($this->db()->ProximoRegistro()) { $tupla = $this->db()->Tupla(); $submenu[] = $tupla['cod_menu_submenu']; } $where = implode(" OR ref_cod_menu_submenu = ", $submenu); $where = "ref_cod_menu_submenu = {$where}"; $menu_tutor = $this->db()->UnicoCampo("SELECT ref_cod_tutormenu FROM pmicontrolesis.menu WHERE {$where} LIMIT 1 OFFSET 0"); } else { $this->prog_alert .= "O menu pai do processo AP {$this->processoAp} está voltando vazio (cod_menu inexistente?).<br>"; } } elseif ($_SESSION['menu_atual']) { $this->db()->Consulta("SELECT cod_menu_submenu FROM menu_submenu WHERE ref_cod_menu_menu = '{$_SESSION['menu_atual']}'"); while ($this->db()->ProximoRegistro()) { $tupla = $this->db()->Tupla(); $submenu[] = $tupla['cod_menu_submenu']; } $where = implode(" OR ref_cod_menu_submenu = ", $submenu); $where = "ref_cod_menu_submenu = {$where}"; $menu_tutor = $this->db()->UnicoCampo("SELECT ref_cod_tutormenu FROM pmicontrolesis.menu WHERE {$where} LIMIT 1 OFFSET 0"); } if ($menu_tutor) { $obj_menu_suspenso = new clsMenuSuspenso(); $lista_menu = $obj_menu_suspenso->listaNivel($menu_tutor, $idpes); $lista_menu_suspenso = $lista_menu; if ($lista_menu_suspenso) { for ($i = 0, $loop = count($lista_menu_suspenso); $i < $loop; $i++) { $achou = FALSE; if (!$lista_menu_suspenso[$i]['ref_cod_menu_submenu']) { foreach ($lista_menu as $id => $menu) { if ($menu['ref_cod_menu_pai'] == $lista_menu_suspenso[$i]['cod_menu']) { $achou = TRUE; } } if (!$achou) { unset($lista_menu[$i]); } } } $saida = '<script type="text/javascript">'; $saida .= 'array_menu = new Array(); array_id = new Array();'; foreach ($lista_menu as $menu_suspenso) { $ico_menu = ''; if (is_numeric($menu_suspenso['ref_cod_ico'])) { $this->db()->Consulta("SELECT caminho FROM portal.imagem WHERE cod_imagem = {$menu_suspenso['ref_cod_ico']} "); if ($this->db()->ProximoRegistro()) { list($ico_menu) = $this->db()->Tupla(); $ico_menu = "imagens/banco_imagens/{$ico_menu}"; } } $alvo = $menu_suspenso['alvo'] ? $menu_suspenso['alvo'] : '_self'; // Corrige o path usando caminhos relativos para permitir a inclusão // de itens no menu que apontem para um módulo if ($uri[1] == 'module') { if (0 === strpos($menu_suspenso['caminho'], 'module')) { $menu_suspenso['caminho'] = '../../' . $menu_suspenso['caminho']; } else { $menu_suspenso['caminho'] = '../../intranet/' . $menu_suspenso['caminho']; } } elseif (0 === strpos($menu_suspenso['caminho'], 'module')) { $menu_suspenso['caminho'] = '../../' . $menu_suspenso['caminho']; } $saida .= "array_menu[array_menu.length] = new Array(\"{$menu_suspenso['tt_menu']}\",{$menu_suspenso['cod_menu']},'{$menu_suspenso['ref_cod_menu_pai']}','', '{$ico_menu}', '{$menu_suspenso['caminho']}', '{$alvo}');"; if (!$menu_suspenso['ref_cod_menu_pai']) { $saida .= "array_id[array_id.length] = {$menu_suspenso['cod_menu']};"; } } $saida .= "</script>"; } $saida .= "<script type=\"text/javascript\">\n setTimeout(\"setXY();\",150);\n MontaMenu();\n </script>"; return $saida; } return FALSE; }
function Editar() { @session_start(); $ordenado = $_SESSION['menu_suspenso']; @session_write_close(); $ObjDel = new clsMenuSuspenso(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, $this->cod_menu); $excluiu = $ObjDel->exclui(); $arr_chaves = array(); foreach ($_SESSION['menu_suspenso'] as $id => $menu) { $arr_chaves[$id] = $menu['ref_cod_menu_pai']; } $filhos = array(); if (is_array($_SESSION['menu_suspenso']) && $excluiu) { foreach ($_SESSION['menu_suspenso'] as $id => $menu) { $obj = new clsMenuSuspenso(FALSE, $menu['ref_cod_menu_submenu'], $filhos[$id], $menu['tt_menu'], $menu['ico_menu'], $menu['ord_menu'], $menu['caminho'], $menu['alvo'], $menu['suprime_menu'], $menu['ref_cod_tutor_menu']); $cod = $obj->cadastra(); if ($arr_chaves) { foreach ($arr_chaves as $id2 => $valor) { if ($id == $valor) { $filhos[$id2] = $cod; } if (empty($valor) && $valor != '0') { $filhos[$id2] = ""; } } } } header("Location: menu_suspenso_det.php?cod_menu={$_GET['cod_menu']}"); } return FALSE; }