horarios.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?php
  2. session_start();
  3. require_once 'include/bd_pdo.php';
  4. require_once 'classes/MainMenu.php';
  5. require_once './classes/SGI.php';
  6. require_once 'classes/Template.php';
  7. require_once 'classes/ValidaSesion.php';
  8. //CONSTANTES Y VARIABLES GLOBALES
  9. $menu = 43;
  10. $submenu = 431;
  11. $titulo = '';
  12. if (!isset($_SESSION['usuario_id']))
  13. ValidaSesion::salirPagina();
  14. else{
  15. if(isset($_SESSION['usuario_id']))
  16. $objSesion = new ValidaSesion($pdo, $submenu);
  17. else
  18. ValidaSesion::salirPagina();
  19. }
  20. if (isset($objSesion)) {
  21. $titulo = $objSesion->nombrePagina(); ?>
  22. <!DOCTYPE html>
  23. <html>
  24. <head>
  25. <title>Alumnos - <?php echo $titulo; ?></title>
  26. <?php if ($objSesion->tieneAcceso())
  27. Template::getCSS(array('elementos.css','secciones/horarios.css'));
  28. else
  29. Template::getCSS(); ?>
  30. </head>
  31. <body>
  32. <?php
  33. if ($objSesion->tieneAcceso()) {
  34. $activo = false;
  35. $periodo = '';
  36. if (isset($_SESSION['estado']) && isset($_SESSION['periodo']) && $_SESSION['estado'] == 1 ) {
  37. $activo = true;
  38. $grupos_rs = SGI::getGrupos($pdo, $_SESSION['periodo']);
  39. $profesores_rs = SGI::getDocentes($pdo, $_SESSION['periodo']);
  40. $planes_rs = SGI::getPlanes($pdo);
  41. if(isset($_SESSION['periodo_desc']))
  42. $periodo = ' (' . $_SESSION['periodo_desc'] . ')';
  43. }
  44. }
  45. $menuObj = new MainMenu($_SESSION["RolUsuario_id"], $menu, $submenu, $pdo);
  46. $menuObj->printMenu($titulo);
  47. if ($objSesion->tieneAcceso()) {
  48. if(isset($_SESSION['periodo']) && $activo ){ ?>
  49. <main class="container-fluid marco d-flex flex-column justify-content-start align-items-center">
  50. <div class="nav nav-tabs tabGral justify-content-center w-100 d-none" id="menu" role="tablist">
  51. <button class="tabs nav-link active" data-seccion="1" id="tabGrupos" data-toggle="tab" data-target="#navGrupos" type="button" role="tab" aria-controls="navGrupos" aria-selected="true"><label>Grupos</label></button>
  52. <button class="tabs nav-link d-none" data-seccion="2" id="tabProfesores" data-toggle="tab" data-target="#navProfesores" type="button" role="tab" aria-controls="navProfesores" aria-selected="false"><label>Profesores</label></button>
  53. <button class="tabs nav-link" data-seccion="3" id="tabExtras" data-toggle="tab" data-target="#navExtras" type="button" role="tab" aria-controls="navExtras" aria-selected="true"><label>Extraordinarios</label></button>
  54. </div>
  55. <div class="tab-content p-2 w-100">
  56. <div class="tab-pane fade show active" id="navGrupos" role="tabpanel" aria-labelledby="navGrupos">
  57. <div class="d-flex flex-row justify-content-center align-items-center px-4 my-4">
  58. <label class="lblTit">Grupo:</label>
  59. <div id="dlGrupo" class="position-relative datalist" data-id="0">
  60. <input id="inputGrupo" class="datalist-input busca" type="text" placeholder="Escribe aquí el grupo" autocomplete="off">
  61. <span id="iconGrupo" class="text-primary input-buscar"></span>
  62. <ul style="display:none">
  63. <?php foreach($grupos_rs as $grupo) {
  64. $nombre = '';
  65. if($_SESSION['nivel'] == 1)
  66. $nombre = $grupo['Grupo_desc'] . ' ' . $grupo['Carrera_prefijo'];
  67. else
  68. $nombre = $grupo['Grupo_desc'] . ' - ' . $grupo['Carrera_desc'];
  69. ?>
  70. <li data-id="<?php echo $grupo['Grupo_id'];?>"><?php echo $nombre;?></li>
  71. <?php } ?>
  72. </ul>
  73. </div>
  74. </div>
  75. <div class="btns align-self-end d-flex d-lg-none flex-row justify-content-end align-items-center mb-2 oculto">
  76. <div class="prev inactivo"><span class="ing-caret"></span></div>
  77. <div class="next"><span class="ing-caret"></span></div>
  78. </div>
  79. <div id="tablaGrupo" class="tabla d-flex flex-column justify-content-center align-items-center w-100 mb-4"></div>
  80. </div>
  81. <div class="tab-pane fade" id="navProfesores" role="tabpanel" aria-labelledby="navProfesores">
  82. <div class="d-flex flex-row justify-content-center align-items-center px-4 my-4">
  83. <label class="lblTit">Profesor:</label>
  84. <div id="dlProfesor" class="position-relative datalist" data-id="0">
  85. <input id="inputProfesor" class="datalist-input busca" type="text" placeholder="Escribe aquí el nombre del profesor" autocomplete="off">
  86. <span id="iconProfesor" class="text-primary input-buscar"></span>
  87. <ul style="display:none">
  88. <?php foreach($profesores_rs as $profesor) { ?>
  89. <li data-id="<?php echo $profesor['Usuario_id'];?>"><?php echo $profesor['Usuario_apellidos'] . ' ' . $profesor['Usuario_nombre']; ?></li>
  90. <?php } ?>
  91. </ul>
  92. </div>
  93. </div>
  94. <div class="btns align-self-end d-flex d-lg-none flex-row justify-content-end align-items-center mb-2 oculto">
  95. <div class="prev inactivo"><span class="ing-caret"></span></div>
  96. <div class="next"><span class="ing-caret"></span></div>
  97. </div>
  98. <div id="tablaProfesor" class="tabla d-flex flex-column justify-content-center align-items-center w-100 mb-4"></div>
  99. </div>
  100. <div class="tab-pane fade" id="navExtras" role="tabpanel" aria-labelledby="navExtras">
  101. <div class="d-flex flex-row justify-content-center align-items-center px-4 my-4">
  102. <label class="lblTit text-nowrap">Plan de Estudios:</label>
  103. <div id="dlPlan" class="position-relative datalist" data-id="0">
  104. <input id="inputPlan" class="datalist-input busca" type="text" placeholder="Escribe aquí el plan de estudio" autocomplete="off">
  105. <span id="iconPlan" class="text-primary input-buscar"></span>
  106. <ul style="display:none">
  107. <?php foreach($planes_rs as $plan) { ?>
  108. <li data-id="<?php echo $plan['PlanEstudio_id'];?>"><?php echo $plan['Carrera_desc'] . ' | ' . $plan['PlanEstudio_desc']; ?></li>
  109. <?php } ?>
  110. </ul>
  111. </div>
  112. </div>
  113. <div class="d-flex flex-row justify-content-center align-items-center px-4 my-4">
  114. <label class="lblTit">Semestre:</label>
  115. <div id="dlSemestre" class="position-relative datalist" data-id="0">
  116. <input id="inputSemestre" class="datalist-input busca" type="text" placeholder="Escribe aquí el semestre" autocomplete="off">
  117. <span id="iconSemestre" class="text-primary input-buscar"></span>
  118. <ul style="display:none">
  119. <?php for($sem = 1; $sem < 10; $sem++) { ?>
  120. <li data-id="<?php echo $sem; ?>"><?php echo $sem; ?></li>
  121. <?php } ?>
  122. </ul>
  123. </div>
  124. <button type="button" id="btnExtras" class="btn btn-azul1 btnIcon ml-2"><span class="ing-ojo mr-1"></span>Mostrar</button>
  125. </div>
  126. <div id="tablaExtras" class="tabla d-flex flex-column justify-content-center align-items-center w-100 mb-4"></div>
  127. </div>
  128. </div>
  129. </main>
  130. <?php } else { ?>
  131. <main class="container-fluid content marco d-flex justify-content-center align-items-center">
  132. <div class="msgBox d-flex flex-row justify-content-center align-items-center">
  133. <img src="img/triangulos.svg" class="imgBoxIzq" />
  134. <img src="img/triangulos.svg" class="imgBoxDer" />
  135. <hr class="hrArriba">
  136. <hr class="hrAbajo">
  137. <div class="d-flex flex-column justify-content-center align-items-center display-5 text-center">
  138. <?php if ($activo) { ?>
  139. <div>¡Lo sentimos!</div>
  140. <div>Aún<span class="text-azul1 mx-1">no</span>se han publicado los horarios</div>
  141. <?php } else { ?>
  142. <div>¡Lo sentimos!</div>
  143. <div>Ya<span class="text-azul1 mx-1">no</span>tienes horarios asignados</div>
  144. <?php } ?>
  145. </div>
  146. </div>
  147. </main>
  148. <?php }
  149. } else { ?>
  150. <main class="container-fluid content marco">
  151. <div class="row justify-content-center" style="min-height: 600px;">
  152. <img id="errorImg" class="col-sm-3" src="img/nico_error.svg" />
  153. <div class="col-sm-9 display-4 d-flex flex-row justify-content-center align-items-center text-center">No tienes acceso a ésta página</div>
  154. </div>
  155. </main>
  156. <?php } ?>
  157. <div style="isolation: isolate;">
  158. <?php Template::footer(); ?>
  159. </div>
  160. <?php if($objSesion->tieneAcceso()) {
  161. Template::getJS(array('elementos.js', 'secciones/horarios.js'));?>
  162. <script>
  163. screen.orientation.addEventListener("change", function(e) {
  164. if ($('#tabla').children('table').length > 0)
  165. ajustaColumnas();
  166. });
  167. </script>
  168. <?php } else
  169. Template::getJS();?>
  170. </body>
  171. </html>
  172. <?php } else
  173. ValidaSesion::salirPagina();