D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
novonote
/
adm
/
app
/
adms
/
Models
/
Filename :
AdmsMenu.php
back
Copy
<?php namespace App\adms\Models; if (!defined('URL')) { header("Location: /"); exit(); } /** * Description of AdmsMenu * * @copyright (c) year, Cesar Szpak - Celke */ class AdmsMenu { private $Resultado; function getResultado() { return $this->Resultado; } public function itemMenu() { $listItemMenu = new \App\adms\Models\helper\AdmsRead(); //var_dump($_SESSION['id_user']); //var_dump($_SESSION['usuario_id']); // die; if(isset($_SESSION['id_user'])) { $listItemMenu->fullRead("WITH RECURSIVE menu_tree AS ( SELECT ma.id, ma.nome, ma.parent_id, ma.ordem, ma.controller, ma.metodo, CASE WHEN ma.icone IS NULL THEN 'far fa-address-book' ELSE ma.icone END AS icone, ma.menu_controller, ma.menu_metodo FROM adms_menu ma INNER JOIN adms_empr_mod empmod ON empmod.empr_id = :user_id AND empmod.mod_id = ma.adms_mod_id INNER JOIN adm_usu_mod usumod ON usumod.empr_id = :user_id AND usumod.mod_id = ma.adms_mod_id AND usumod.usuario_id = :usuario_id WHERE ma.adms_sits_id = 1 AND ma.lib_menu = :lib_menu AND ma.parent_id IS NULL AND NOT EXISTS ( SELECT 1 FROM adms_restricao r WHERE r.pag_id = ma.id AND r.usu_id = :usuario_id ) -- Garante que páginas restritas não apareçam no menu UNION ALL SELECT m.id, m.nome, m.parent_id, m.ordem, m.controller, m.metodo, CASE WHEN m.icone IS NULL THEN 'far fa-address-book' ELSE m.icone END AS icone, m.menu_controller, m.menu_metodo FROM adms_menu m JOIN menu_tree mt ON m.parent_id = mt.id WHERE m.lib_menu = :lib_menu AND NOT EXISTS ( SELECT 1 FROM adms_restricao r WHERE r.pag_id = m.id AND r.usu_id = :usuario_id ) -- Aplica o mesmo filtro na hierarquia de menus ) SELECT * FROM menu_tree ORDER BY ordem;", "usuario_id=".$_SESSION['usuario_id']."&user_id=".$_SESSION['id_user']."&lib_menu=1"); }else{ $listItemMenu->fullRead("SELECT pg.dropdown, men.id id_men, men.nome nome_men, men.icone icone, pg.id id_pg, pg.menu_controller, pg.menu_metodo, pg.nome_pagina, pg.icone icone_pg FROM adms_paginas pg INNER JOIN adms_menus men ON men.id= pg.menu_id WHERE pg.lib_menu = :lib_menu and pg.adms_sits_pg_id = 1 ORDER BY men.ordem, pg.ordem", "lib_menu=1"); } $this->Resultado = $listItemMenu->getResultado(); return $this->Resultado; } }