index.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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/Fechas.php';
  7. require_once 'include/bd_pdo.php';
  8. //CONSTANTES Y VARIABLES GLOBALES
  9. $errorBD = false;
  10. $usr = 0;
  11. /*$_SESSION["timeout"] = time();
  12. $_SESSION["usuario_id"] = 12;
  13. $_SESSION["usuario_nombre"] = 'ALEJANDRA';
  14. $_SESSION["usuario_apellidos"] = 'MONTIEL LUGO';
  15. $_SESSION["puesto"] = 'Administrador';
  16. $_SESSION["icono"] = 'ing-administrador';*/
  17. if (is_null($pdo))
  18. $errorBD = true;
  19. if(!isset($_SESSION['actual'])){
  20. if(!$errorBD) {
  21. $actual = new Concurso();
  22. $actual->getConcursoActivo($pdo);
  23. $_SESSION['actual'] = serialize($actual);
  24. }
  25. } else
  26. $actual = unserialize($_SESSION['actual']);
  27. if(isset($_SESSION['usuario_id']))
  28. $usr = $_SESSION['usuario_id'];
  29. ?>
  30. <!DOCTYPE html>
  31. <html lang="es" prefix="og: http://ogp.me/ns#">
  32. <head>
  33. <title>CIDIT</title>
  34. <?php Template::getCSS(array('secciones/index.css','secciones/submenu.css')); ?>
  35. </head>
  36. <body>
  37. <?php Template::agregaLoading();
  38. $menuObj = new MainMenu($usr, 0, $pdo);
  39. $menuObj->printMenu(); ?>
  40. <main class="margen-principal mb-4 d-flex flex-column">
  41. <div id="divSubMenu" class="card-group mb-1 order-3 order-sm-1">
  42. <div class="card bg-azul13 justify-content-center align-items-center linksSubMenu" data-id="1">Convocatoria</div>
  43. <div class="card bg-azul12 justify-content-center align-items-center linksSubMenu" data-id="2">Bases</div>
  44. <div class="card bg-azul11 justify-content-center align-items-center linksSubMenu" data-id="3">Reglamento y Guía de los participantes</div>
  45. <div class="card bg-azul10 justify-content-center align-items-center linksSubMenu" data-id="4">Instrucciones para participantes</div>
  46. <div class="card bg-azul9 justify-content-center align-items-center linksSubMenu" data-id="5">Comité Organizador</div>
  47. </div>
  48. <div class="bannerSubmenu d-flex order-1 order-sm-2">
  49. <div class="mx-auto px-4">
  50. <img id="logo"
  51. <?php if (isset($actual) && !$errorBD && $actual->getId() != 0)
  52. echo 'src="concursos/' . $actual->getCarpeta() . '/logo.webp"';
  53. else
  54. echo 'src="img/cidit.webp"';
  55. ?>
  56. class="d-block img-fluid" width="780" height="353" />
  57. </div>
  58. </div>
  59. <div class="fondoAnuncio my-2 p-2 order-2 order-sm-3">
  60. <?php if (!$errorBD) { ?>
  61. <div id="fechas" class="d-flex flex-column justify-content-center align-items-center">
  62. <?php echo generaFechas($pdo, $actual->getId()); ?>
  63. </div>
  64. <?php } else { ?>
  65. <div class="d-flex flex-column justify-content-center align-items-center p-4">
  66. <div class="text-primary text-center mb-2 tit">¡Lo Sentimos!</div>
  67. <div class="text-primary text-center px-4 mb-3 msg">De momento no podemos mostrar las fechas importantes del concurso</div>
  68. <div class="display-4 ing-eventos text-azul6 mb-1"></div>
  69. </div>
  70. <?php } ?>
  71. </div>
  72. <div class="card-deck mt-4 order-3">
  73. <a href="memorias.php" class="card img-fluid link">
  74. <img class="card-img-top" src="img/secciones/index/memorias.webp" />
  75. <div class="card-img-overlay d-flex align-items-end">
  76. <div class="textlink text-white d-flex align-items-center">Memorias<span class="ml-2 mt-1 ing-flecha"></span></div>
  77. </div>
  78. </a>
  79. <a href="galeria.php" class="card img-fluid link">
  80. <img class="card-img-top" src="img/secciones/index/galeria.webp" />
  81. <div class="card-img-overlay d-flex align-items-end">
  82. <div class="textlink text-white d-flex align-items-center">Galeria de Carteles<span class="ml-2 mt-1 ing-flecha"></span></div>
  83. </div>
  84. </a>
  85. <a href="finalistas.php" class="card img-fluid link">
  86. <img class="card-img-top" src="img/secciones/index/finalistas.webp">
  87. <div class="card-img-overlay d-flex align-items-end">
  88. <div class="textlink text-white d-flex align-items-center">Finalistas<span class="ml-2 mt-1 ing-flecha"></span></div>
  89. </div>
  90. </a>
  91. <a href="ganadores.php" class="card img-fluid link">
  92. <img class="card-img-top" src="img/secciones/index/ganadores.webp">
  93. <div class="card-img-overlay d-flex align-items-end">
  94. <div class="textlink text-white d-flex align-items-center">Ganadores<span class="ml-2 mt-1 ing-flecha"></span></div>
  95. </div>
  96. </a>
  97. </div>
  98. </main>
  99. <div class="modal fade modalMarco" id="modalSeccion">
  100. <div class="modal-dialog modal-xl modal-dialog-centered">
  101. <div class="modal-content p-3">
  102. <div class="modal-header p-0">
  103. <div id="titSeccion" class="m-3 display-5 w-100 indivisa-text-bold-italic text-center text-primary"></div>
  104. <button type="button" class="cerrar" data-dismiss="modal"><div class="ing-cancelar"></div></button>
  105. </div>
  106. <div id="contenidoSeccion" class="modal-body d-flex flex-column align-items-center justify-content-center text-primary">
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. <!--- FOOTER--->
  112. <div style="isolation: isolate;">
  113. <?php Template::footer(); ?>
  114. </div>
  115. <?php require_once 'inicia.php';
  116. Template::getJS(array('secciones/submenu.js'));
  117. startModal(); ?>
  118. </body>
  119. </html>
  120. <?php
  121. function generaFechas($pdo, $concurso){
  122. $fechas = '';
  123. $etapas = Concurso::getFechas($pdo, $concurso);
  124. $etapas = array_reverse($etapas);
  125. $activo = false;
  126. foreach ($etapas as $indice => $etapa){
  127. switch ($indice){
  128. case 'REGISTRO':
  129. $msg = 'Registro de trabajos';
  130. if (is_array($etapa['fechas'])){
  131. $ultimo = end($etapa['fechas']);
  132. if ($ultimo['fechas'] != 'Por definir')
  133. $fecha = Fechas::estandarizaDia($ultimo['fechas'][0],$ultimo['fechas'][1], 'rango');
  134. else
  135. $fecha = $ultimo['fechas'];
  136. } else {
  137. if ($etapa['fechas'] != 'Por definir')
  138. $fecha = Fechas::estandarizaDia($etapa['fechas'][0], $etapa['fechas'][1], 'rango');
  139. else
  140. $fecha = $etapa['fechas'];
  141. }
  142. if ($etapa['activo'] && !$activo){
  143. $fechas = mensaje ($msg, $fecha, true) . $fechas;
  144. $activo = true;
  145. } else
  146. $fechas = mensaje ($msg, $fecha, false) .$fechas;
  147. break;
  148. case 'AUTORIZACION':
  149. $msg = 'Publicación de trabajos que pasan a la fase de evaluación';
  150. if (is_array($etapa['fechas'])){
  151. $ultimo = end($etapa['fechas']);
  152. if ($ultimo['fechas'] != 'Por definir')
  153. $fecha = Fechas::romanizaFecha($ultimo['fechas']);
  154. else
  155. $fecha = $ultimo['fechas'];
  156. } else {
  157. if ($etapa['fechas'] != 'Por definir')
  158. $fecha = Fechas::romanizaFecha($etapa['fechas']);
  159. else
  160. $fecha = $etapa['fechas'];
  161. }
  162. if ($etapa['activo'] && !$activo){
  163. $fechas = mensaje ($msg, $fecha, true) . $fechas;
  164. $activo = true;
  165. } else
  166. $fechas = mensaje($msg, $fecha, false) .$fechas;
  167. break;
  168. case 'FINALISTAS':
  169. $msg = 'Publicación de trabajos que pasan a la segunda fase';
  170. if ($etapa['fechas'] != 'Por definir')
  171. $fecha = Fechas::romanizaFecha($etapa['fechas']);
  172. else
  173. $fecha = $etapa['fechas'];
  174. if ($etapa['activo'] && !$activo){
  175. $fechas = mensaje ($msg, $fecha, true) . $fechas;
  176. $activo = true;
  177. } else
  178. $fechas = mensaje ($msg, $fecha, false) . $fechas;
  179. break;
  180. case 'GALERIA':
  181. $msg = 'Presentación de cartel y defensa de trabajos a sesión abierta';
  182. if ($etapa['fechas'] != 'Por definir')
  183. $fecha = Fechas::romanizaFecha($etapa['fechas']);
  184. else
  185. $fecha = $etapa['fechas'];
  186. if ($etapa['activo'] && !$activo){
  187. $fechas = mensaje ($msg, $fecha, true) . $fechas;
  188. $activo = true;
  189. } else
  190. $fechas = mensaje ($msg, $fecha, false) . $fechas;
  191. break;
  192. case 'GANADORES':
  193. $msg = 'Resultados y premiación de trabajos ganadores';
  194. if ($etapa['fechas'] != 'Por definir')
  195. $fecha = Fechas::romanizaFecha($etapa['fechas']);
  196. else
  197. $fecha = $etapa['fechas'];
  198. if ($etapa['activo'] && !$activo){
  199. $fechas = mensaje ($msg, $fecha, true) . $fechas;
  200. $activo = true;
  201. } else
  202. $fechas = mensaje ($msg, $fecha, false) . $fechas;
  203. break;
  204. }
  205. }
  206. return $fechas;
  207. }
  208. function mensaje ($msg, $fecha, $activo){
  209. $texto = '';
  210. if ($activo){
  211. $texto = '<div class="bg-azul6 d-flex flex-column p-3 w-100 mx-2 my-4 active">
  212. <div class="bold">' . $msg . '</div>
  213. <div class="italic small">' . $fecha . '</div>
  214. </div>';
  215. } else {
  216. $texto = '<div class="d-flex flex-sm-row flex-column justify-content-around align-items-center mx-2 my-4 normal">
  217. <div class="bold">' . $msg . '</div>
  218. <span class="ing-bullet small mx-2 mt-1 d-none d-sm-block"></span>
  219. <div class="italic small">' . $fecha . '</div>
  220. </div>';
  221. }
  222. return $texto;
  223. }