html_header.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <script defer src="<?= $ruta ?? '' ?>js/sidebarmenu.js"></script>
  2. <?php
  3. require_once ($ruta ?? '') . 'class/c_login.php';
  4. require_once ($ruta ?? '') . 'include/bd_pdo.php';
  5. $user = Login::get_user();
  6. $user->access();
  7. $pagina = substr(basename($_SERVER['PHP_SELF']), 0, -4);
  8. if (!in_array($pagina, ["main", "test"]) && !$user->acceso) {
  9. header('Location: main.php?error=1');
  10. exit;
  11. }
  12. $grupos = $user->admin ? queryAll("SELECT * FROM GRUPO ORDER BY grupo_nombre") : $db->query("SELECT * FROM GRUPO WHERE grupo_id IN (SELECT grupo_id FROM PERMISO_VIEW WHERE id = :id) ORDER BY grupo_nombre", array(":id" => $user->user['id']));
  13. function html_header($title, $header = null)
  14. {
  15. global $grupos, $user, $db, $ruta;
  16. ?>
  17. <aside id="sidebar" class="bg-light defaultShadow d-flex flex-column p-4">
  18. <div class="d-flex align-items-center mb-5">
  19. <div class="logotipo"><a href="https://lasalle.mx/" target="_blank"><img src="<?= $ruta ?? '' ?>imagenes/logo_lasalle.png"></a>
  20. </div>
  21. <div class="flex-grow-1 d-flex justify-content-end">
  22. <nav class="navbar navbar-expand d-none d-flex">
  23. <ul class="navbar-nav">
  24. </ul>
  25. </nav>
  26. <div class="d-flex mainMenu justify-content-center align-items-center">
  27. <div class="max-h iconSesion">
  28. <a href="salir.php" class="iconOff max-h pl-3 d-flex justify-content-start align-items-center"><i
  29. class="ing-salir"></i></a>
  30. </div>
  31. <div class="max-h">
  32. <div class="bg-primary rounded-circle pointer max-h max-w d-flex justify-content-center align-items-center"
  33. id="dismiss">
  34. <span class="text-white iconMenuSidebar ing-cancelar"></span>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <div class="accordion px-2" id="accordionMenu">
  41. <p class="mb-0 mt-3 ml-4 pl-1">
  42. <a class="d-block side-menu" href="main.php">
  43. <span class="ing-home"></span> Menú
  44. </a>
  45. </p>
  46. <?php
  47. if ($user->admin) { ?>
  48. <p class="mb-0 mt-3 ml-4 pl-1">
  49. <a href="permisos.php" class="d-block side-menu">
  50. <span class="ing-pass"></span> Permisos
  51. </a>
  52. </p>
  53. <?php }
  54. foreach ($grupos as $key => $grupo) {
  55. ?>
  56. <p class="mb-0 mt-3">
  57. <a class="d-block side-menu collapsed" data-toggle="collapse" href="#menu_<?= $key ?>" role="button"
  58. aria-expanded="false">
  59. <i class="ing-caret ing-fw mr-2"></i>
  60. <span class="<?= $grupo['grupo_icon'] ?>"></span>
  61. <?= ucfirst($grupo['grupo_nombre']) ?>
  62. </a>
  63. </p>
  64. <div id="menu_<?= $key ?>" class="collapse" data-parent="#accordionMenu" style>
  65. <ul class="fa-ul">
  66. <?
  67. foreach ($user->admin ? $db->query("SELECT * FROM PAGINA WHERE grupo_id = :grupo_id ORDER BY pagina_titulo", array(":grupo_id" => $grupo['grupo_id'])) : $db->query("SELECT * FROM PAGINA WHERE grupo_id = :grupo_id and pagina_id IN (SELECT pagina_id FROM PERMISO_VIEW WHERE id = :id) ORDER BY pagina_titulo", array(":grupo_id" => $grupo['grupo_id'], ":id" => $user->user['id']))
  68. as $pagina):
  69. ?>
  70. <li class="mt-1">
  71. <a href="<?= $pagina['pagina_ruta'] ?>.php">
  72. <?= $pagina['pagina_titulo'] ?>
  73. </a>
  74. </li>
  75. <? endforeach; ?>
  76. </ul>
  77. </div>
  78. <?php
  79. }
  80. ?>
  81. </div>
  82. </aside>
  83. <div class="overlay"></div>
  84. <header class="sticky-top bg-white">
  85. <div class="container marco menu d-flex align-items-center">
  86. <div class="logotipo">
  87. <a href="https://lasalle.mx/" target="_blank">
  88. <img src="<?= $ruta ?? '' ?>imagenes/logo_lasalle.png">
  89. </a>
  90. </div>
  91. <div class="flex-grow-1 d-flex justify-content-end">
  92. <nav class="navbar navbar-expand-lg d-flex">
  93. <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
  94. aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
  95. <span class="navbar-toggler-icon"></span>
  96. </button>
  97. <div class="collapse navbar-collapse" id="navbarNav">
  98. <ul class="navbar-nav">
  99. <!-- Add your navigation items here -->
  100. </ul>
  101. </div>
  102. </nav>
  103. <div class="d-flex mainMenu justify-content-center align-items-center">
  104. <div class="max-h iconSesion">
  105. <a href="salir.php" class="iconOff max-h pl-3 d-flex justify-content-start align-items-center">
  106. <i class="ing-salir"></i>
  107. </a>
  108. </div>
  109. <div class="max-h">
  110. <span id="sidebarCollapse" style="font-size: 44px;"
  111. class="ing-menu bg-white rounded-circle pointer max-w d-flex justify-content-center align-items-center"></span>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </header>
  117. <div class="row bg-info mx-0 barra-gris d-flex flex-column">
  118. <?php
  119. if ($header != null) {
  120. ?>
  121. <div class="marco">
  122. <div class="col-sm-12">
  123. <h2 class="text-muted">
  124. <?= $header; ?>
  125. </div>
  126. </div>
  127. <?php } ?>
  128. <div class="marco">
  129. <div class="col-sm-12 py-3">
  130. <h2 class="text-uppercase">
  131. <?= $title; ?>
  132. </h2>
  133. </div>
  134. </div>
  135. </div>
  136. <? } ?>