Advertisement
pipook

Armado de menus

Oct 5th, 2012
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.82 KB | None | 0 0
  1. <?php
  2. session_start();
  3. if(isset($_SESSION["session_id2"]) && $_SESSION["session_id2"] != "")
  4. {
  5.     require_once('../../includes.php');
  6.     require_once PATH_LLIB.DS.'d_base.php';
  7.     require_once PATH_CLASS.DS.'conexion.php';
  8.     $action = $_POST['action'];
  9.     call_user_func($action, $_POST);
  10. }
  11. else
  12. {
  13.     echo json_encode(array("error"=>"Ocurrio un Error, Intentelo de nuevo","sesion"=>"no ha iniciado sesion"));
  14. }
  15. /**
  16. * Devuelve el menu principal con respectivos submenus
  17. *
  18. * Esta funcion devuelve los items del menu principal
  19. * con sus respectivos submenus, recibe el request
  20. * y la respuesta va en formato JSON
  21. *
  22. * Este DocBlock documenta la función cargarMenus($request)
  23. */
  24. function cargarMenus($request){
  25.     if($menus = traermenus()){
  26.         $cant = count($menus);
  27.         $menu = array($cant);
  28.         for ($i=0; $i < $cant; $i++) {
  29.             $menu[$i] = traersubmenus($menus[$i]);
  30.         }
  31.         echo json_encode($menu);
  32.     }
  33. }
  34. /**
  35. * Devuelve items del menu principal
  36. *
  37. * Esta funcion devuelve los items del menu principal
  38. * teniendo en cuenta el usuario que que esta actualmente
  39. * en sesion en la aplicacion, no recibe ningun parametro
  40. * y la respuesta devuelta es un Array
  41. *
  42. * Este DocBlock documenta la función traermenus()
  43. */
  44. function traermenus(){
  45.     $conexion = new Conexion();
  46.     $SQL = "SELECT DISTINCT mn_grupo FROM mn_menu AS t2, rm_relacion_menu AS t3".
  47.             " WHERE t3.us_id = ".$_SESSION["id_us"].
  48.             " AND t2.mn_id = t3.mn_id";
  49.     $conexion->consultar($SQL);
  50.     $num_reg = $conexion->getNumeroRegistros();
  51.     if($num_reg > 0){  
  52.         $menus = array();
  53.         while ($cons = $conexion->sacarRegistro()) {
  54.             $menus[] = $cons['mn_grupo'];          
  55.         }
  56.         $conexion->desconectar();
  57.         return $menus;     
  58.     }else{
  59.         $conexion->desconectar();
  60.         return false;      
  61.     }
  62. }
  63. /**
  64. * Devuelve items de un item del menu principal
  65. *
  66. * Esta funcion devuelve los items de un item del menu principal
  67. * teniendo en cuenta el usuario que que esta actualmente
  68. * en sesion en la aplicacion, recibe el item del menu
  69. * y la respuesta devuelta es un Array con el item padre
  70. * del menu principal y los items hijos de ese item padre
  71. *
  72. * Este DocBlock documenta la función traersubmenus()
  73. */
  74. function traersubmenus($menu){
  75.     $conexion = new Conexion();
  76.     $SQL = "SELECT  mn_detalle, mn_ruta FROM mn_menu AS t2, rm_relacion_menu AS t3".
  77.             " WHERE t3.us_id = ".$_SESSION['id_us'].
  78.             " AND t2.mn_id = t3.mn_id".
  79.             " AND mn_grupo = '".$menu."'";
  80.     $conexion->consultar($SQL);
  81.     if($conexion->getNumeroRegistros() > 0){       
  82.         $sub_menus = array();
  83.         $ruta_menus = array();
  84.         while ($cons_s = $conexion->sacarRegistro()) {
  85.             $sub_menus[] = $cons_s['mn_detalle'];
  86.             $ruta_menus[] = $cons_s['mn_ruta'];
  87.         }
  88.         $conexion->desconectar();
  89.         $menus = array('menu'=>$menu,'submenus'=>$sub_menus,'rutas'=>$ruta_menus);
  90.         return $menus;
  91.     }else{
  92.         $conexion->desconectar();
  93.         return false;
  94.     }
  95. }
  96. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement