temp.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. <?php
  2. session_start();
  3. require_once 'classes/Template.php';
  4. require_once 'classes/MainMenu.php';
  5. require_once 'classes/Concurso.php';
  6. require_once 'classes/Etapa.php';
  7. require_once 'classes/Proyecto.php';
  8. require_once 'classes/Asignacion.php';
  9. require_once 'classes/ValidaSesion.php';
  10. require_once 'include/bd_pdo.php';
  11. //CONSTANTES Y VARIABLES GLOBALES
  12. $menu = 21;
  13. $submenu = 211;
  14. $titulo = 'Listado de Proyectos ';
  15. $errorBD = false;
  16. $actual = null;
  17. $etapaRevision['idetapa'] = 0;
  18. if (is_null($pdo) || !isset($_SESSION['usuario_id']))
  19. ValidaSesion::salirPagina();
  20. else{
  21. if (is_null($pdo))
  22. $errorBD = true;
  23. if (isset($_SESSION['actual']))
  24. $actual = unserialize($_SESSION['actual']);
  25. if (!$errorBD)
  26. $etapaRevision = Etapa::buscaEtapaXClave($pdo, 'REVISION');
  27. if (isset($etapaRevision)){
  28. $fechasRevision = Concurso::getFechaXEtapa($pdo, $actual->getId(), $etapaRevision);
  29. if (isset($fechasRevision['fechas'])){
  30. date_default_timezone_set('America/Mexico_City');
  31. $hoy = strtotime(date('Y-m-d'));
  32. if ($hoy <= strtotime(date($fechasRevision['fechas'][1]->format('Y/n/d'))))
  33. $revisionVisible = true;
  34. else
  35. $revisionVisible = false;
  36. }
  37. }
  38. if(isset($_SESSION['usuario_id'])){
  39. if (!$errorBD)
  40. $objSesion = new ValidaSesion($pdo,$submenu);
  41. } else
  42. ValidaSesion::salirPagina();
  43. }
  44. ?>
  45. <!doctype html>
  46. <html lang="es">
  47. <head>
  48. <title><?php echo $titulo . ' - '; ?>CIDIT</title>
  49. <?php Template::getCSS(array('elementos.css')); ?>
  50. <style>
  51. .accordion .titulo, .card .titulo { border-bottom: 1px solid #001D68; color: #001D68; font-size: 18px; }
  52. .accordion .titulo > .ver{ font-family: 'indivisa-text-italic'; color: #696969; cursor: pointer; }
  53. .accordion .texto.bg-light{ border-radius: 0 0 .25rem .25rem; }
  54. .accordion .texto .lista:before { font-family: 'ingfont'; content: "\e943"; color: #007BC4; font-size: 8px; margin-right: 0.25rem; }
  55. #iframeArchivo { border:0; min-height: 600px; width: 100%; }
  56. </style>
  57. </head>
  58. <body>
  59. <?php Template::agregaLoading();
  60. $menuObj = new MainMenu($_SESSION["usuario_id"], $menu, $pdo);
  61. $menuObj->printMenu();
  62. Template::getNavInfo(); ?>
  63. <main class="margen-principal mb-4">
  64. <div class="d-flex flex-row justify-content-between align-items-center my-3">
  65. <h1 class="mb-0"><?php echo $titulo; ?><span class="small text-azul6 ml-1"><?php if(isset($actual)) echo '(' . $actual->getNombre() . ' CIDIT)'; ?></span></h1>
  66. </div>
  67. <?php if (isset($objSesion) && $objSesion->tieneAcceso()){
  68. $categorias = Concurso::getCategoriasConcurso($pdo, $actual->getId()); ?>
  69. <div id="divTabs">
  70. <ul class="nav nav-tabs mt-5">
  71. <?php $cont = 0;
  72. foreach($categorias as $categoria) { ?>
  73. <li id="tabCat<?php echo $categoria['idcategoria']; ?>" class="nav-item"><a class="nav-link <?php if ($cont == 0 ) { echo 'active'; } ?>" data-toggle="tab" href="#cat<?php echo $categoria['idcategoria']; ?>"><?php echo $categoria['categoria']; ?></a></li>
  74. <?php $cont++;
  75. } ?>
  76. </ul>
  77. <div class="tab-content accordion" id="acordeonMain">
  78. <?php
  79. $cont = 0;
  80. foreach($categorias as $categoria) { ?>
  81. <div class="tab-pane fade <?php if ($cont == 0 ) { echo 'show active'; } ?>" id="cat<?php echo $categoria['idcategoria']; ?>">
  82. <?php echo generaLista($pdo,$actual->getId(),$categoria['idcategoria']); ?>
  83. </div>
  84. <?php $cont++;
  85. } ?>
  86. </div>
  87. </div>
  88. <div class="modal fade modalGral" id="modalArchivo">
  89. <div class="modal-dialog modal-xl">
  90. <div class=" modal-content">
  91. <div class="modal-body" id="tabsContent">
  92. <button type="button" class="close" data-dismiss="modal"><div class="text-danger ing-cancelar"></div></button>
  93. <!-- Tab panes -->
  94. <iframe id="iframeArchivo"></iframe>
  95. </div>
  96. <div class="modal-body" id="errorContent" style="display:none">
  97. <button type="button" class="close" data-dismiss="modal"><div class="text-danger ing-cancelar"></div></button>
  98. <div class="fondoAnuncio mt-5">
  99. <div class="d-flex flex-column justify-content-center align-items-center">
  100. <div class="d-flex flex-column justify-content-center align-items-center">
  101. <div class="text-primary text-center mt-5 tit">¡Lo sentimos!</div>
  102. <div class="text-primary text-center small m-3 msg"></div>
  103. <div class="ing-no-cargado display-1 text-danger mb-4"></div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. <?php } else { ?>
  112. <div class="w-100 text-left my-3">
  113. <h1 class="mb-0"><?php echo $titulo; ?></h1>
  114. </div>
  115. <div class="fondoAnuncio mt-5">
  116. <div class="d-flex flex-column justify-content-center align-items-center">
  117. <div class="d-flex flex-column justify-content-center align-items-center">
  118. <div class="text-primary text-center mt-5 tit">¡Lo sentimos!</div>
  119. <div class="text-primary text-center small my-3 msg">No tienes accceso a éste sitio</div>
  120. <div class="ing-negar display-1 text-danger mb-4"></div>
  121. </div>
  122. </div>
  123. <?php } ?>
  124. </main>
  125. <div style="isolation: isolate;">
  126. <?php Template::footer(); ?>
  127. </div>
  128. <?php Template::getJS(array()); ?>
  129. <script>
  130. $('.collapse').on('show.bs.collapse', function () {
  131. $(this).siblings().children('div.detalle').children().children('span.msg').text('Ocultar Detalle');
  132. });
  133. $('.collapse').on('hidden.bs.collapse', function () {
  134. $(this).siblings().children('div.detalle').children().children('span.msg').text('Ver Detalle');
  135. });
  136. $('.archivo').click(function(){
  137. $('#frameArchivo').attr('src', '');
  138. $('#iframeArchivo').attr('src','concursos/' + $(this).data('id'));
  139. $('#modalArchivo').modal('show');
  140. });
  141. </script>
  142. </body>
  143. </html>
  144. <?php
  145. function generaLista($pdo, $concurso, $categoria){
  146. $proyectos = Proyecto::getProyectosAutorizados($pdo, $concurso, $categoria, 'clave');
  147. $registro = Etapa::getIdEtapa($pdo,'REGISTRO');
  148. $revision = Etapa::getIdEtapa($pdo,'REVISION');
  149. $temp = Recurso::recursoXNombre($pdo, 'ESCRITO');
  150. $recurso = $temp[0]['idrecurso'];
  151. $html = '<div class="w-100">';
  152. $cont = 0;
  153. foreach ($proyectos as $proyecto){
  154. $html .= '<div class="titulo">
  155. <div class=" d-flex flex-column justify-content-between position-relative p-2" id="tituloCat' . $categoria . '-' . $cont . '">
  156. <div class="dato">' . $proyecto['clave'] . ' - ' . $proyecto['proyecto'] . '</div>
  157. <div class="detalle">
  158. <span data-toggle="collapse" data-target="#textoCat' . $categoria . '-' . $cont . '" class="small rounded ver btn-extra py-1 px-2 mr-3"><span class="ing-ojo mr-1"></span><span class="msg">Ver Detalle</span></span>
  159. <span class="small rounded archivo btn-extra py-1 px-2 mr-3" data-id="' . Proyecto::carpetaProyecto($pdo, $proyecto['idproyecto']) . '/' . Recurso::existeRecurso($pdo, $proyecto['idproyecto'], $recurso) . '"><span class="ing-ver mr-1"></span><span>Ver Archivo</span></span>
  160. </div>
  161. </div>
  162. <div id="textoCat' . $categoria . '-' . $cont . '" class="collapse texto bg-light py-2 px-4" aria-labelledby="tituloCat' . $categoria . '-' . $cont . '" data-parent="#acordeonMain">
  163. <div class="row">';
  164. $html .= '<div class="col-sm-4">
  165. <div class="indivisa-text-bold">Asesor(es)</div>';
  166. $asesores = Proyecto::getAsignacionesProyecto($pdo, $proyecto['idproyecto'], $registro);
  167. foreach ($asesores as $asesor){
  168. $nombre = Usuario::getNombreUsuario($pdo, $asesor['idusr']);
  169. if (count($nombre) > 0)
  170. $html .= '<div class="lista">' . mb_convert_case(mb_strtolower($nombre['apellidos'] . ' ' . $nombre['nombre']), MB_CASE_TITLE, "UTF-8") . '</div>';
  171. }
  172. $html .= '</div>';
  173. $html .= '<div class="col-sm-4">
  174. <div class="indivisa-text-bold">Revisores</div>';
  175. $revisores = Proyecto::getAsignacionesProyecto($pdo, $proyecto['idproyecto'], $revision);
  176. foreach ($revisores as $revisor){
  177. $nombre = Usuario::getNombreUsuario($pdo, $revisor['idusr']);
  178. if (count($nombre) > 0)
  179. $html .= '<div class="lista">' . mb_convert_case(mb_strtolower($nombre['apellidos'] . ' ' . $nombre['nombre']), MB_CASE_TITLE, "UTF-8") . '</div>';
  180. }
  181. $html .= '</div>';
  182. $html .= '<div class="col-sm-4">
  183. <div class="indivisa-text-bold">Alumno(s)</div>';
  184. $alumnos = Proyecto::alumnosProyecto($pdo, $proyecto['idproyecto']);
  185. foreach ($alumnos as $alumno){
  186. $nombre = Usuario::getNombreUsuario($pdo, $alumno['idalumno']);
  187. if (count($nombre) > 0)
  188. $html .= '<div class="lista">' . mb_convert_case(mb_strtolower($nombre['apellidos'] . ' ' . $nombre['nombre']), MB_CASE_TITLE, "UTF-8") . '</div>';
  189. }
  190. $html .= '</div>';
  191. $html .= '</div>
  192. </div>
  193. </div>';
  194. $cont++;
  195. }
  196. $html .= '</div>';
  197. return $html;
  198. }