Galeria.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. require_once 'Concurso.php';
  3. require_once 'Etapa.php';
  4. require_once 'Proyecto.php';
  5. require_once 'Colores.php';
  6. class Galeria {
  7. private static $carteles = 0;
  8. private $concurso;
  9. private $idetapa;
  10. private $usr;
  11. private $pdo;
  12. function __construct($pdo, $concurso, $usr){
  13. $this->pdo = $pdo;
  14. $this->concurso = $concurso;
  15. $this->idetapa = Etapa::getIdEtapa($pdo, 'EVALUACION');
  16. $this->usr = $usr;
  17. }
  18. function generaCarteles($fechaValida){
  19. if ($fechaValida) {?>
  20. <figure>
  21. <div class="anuncio">
  22. <div class="bg-white px-3 py-4 d-flex flex-column border-0 m-0">
  23. <label class="text-primary text-uppercase txt1Fig mb-3">BIENVENIDOS</label>
  24. <div class="fondo m-0 py-3">
  25. <div class="imgAnuncio"/></div>
  26. </div>
  27. <label class="text-primary text-uppercase txt2Fig mt-3 mb-0">GALERIA DE PROYECTOS</label>
  28. </div>
  29. </div>
  30. </figure>
  31. <?php } else { ?>
  32. <figure>
  33. <div class="anuncio">
  34. <div class="bg-white px-3 py-4 d-flex flex-column border-0 m-0">
  35. <div class="fondo m-0 py-3">
  36. <div class="imgAnuncio"/></div>
  37. </div>
  38. <label class="text-primary text-uppercase txt2Fig mt-3 mb-0">PRÓXIMAMENTE</label>
  39. </div>
  40. </div>
  41. </figure>
  42. <?php
  43. }
  44. if ($fechaValida) {
  45. $carteles = Proyecto::getcarteles($this->pdo, $this->concurso->getId(), $this->idetapa);
  46. self::$carteles = count($carteles);
  47. foreach($carteles as $cartel){ ?>
  48. <figure>
  49. <div class="cartel" data-id="<?php echo $cartel['idproyecto']; ?>" <?php echo $this->validaEvaluacion($cartel['idproyecto']); ?>>
  50. <?php $imagen = Proyecto::miniaturaCartel($this->pdo, $cartel['idproyecto']);
  51. if ($imagen != '') {?>
  52. <img src="concursos/<?php echo Proyecto::carpetaProyecto($this->pdo, $cartel['idproyecto']) . '/' . $imagen ?>"/>
  53. <?php } else {?>
  54. <img src="img/secciones/editor/Cartel-plantilla.webp" />
  55. <?php } ?>
  56. </div>
  57. <figcaption>
  58. <span><?php echo $cartel['proyecto']; ?></span>
  59. <span><?php echo $cartel['categoria']; ?></span>
  60. </figcaption>
  61. </figure>
  62. <?php
  63. }
  64. }
  65. }
  66. /* Distribuye de forma homogenea los carteles en las 4 paredes */
  67. public static function paredes(){
  68. $total = self::$carteles + 1;
  69. $entero = intdiv($total, 4);
  70. switch (($total % 4)){
  71. case 0:
  72. echo '[' . $entero . ','. $entero . ',' . $entero . ',' . $entero . ']';
  73. break;
  74. case 1:
  75. echo '[' . ($entero+1) . ',' . $entero . ',' . $entero . ',' . $entero . ']';
  76. break;
  77. case 2:
  78. echo '[' . ($entero+1) . ',' . ($entero+1) . ',' . $entero . ',' . $entero . ']';
  79. break;
  80. case 3:
  81. echo '[' . ($entero+1) . ',' . ($entero+1) . ',' . ($entero+1) . ',' . $entero . ']';
  82. break;
  83. }
  84. }
  85. function validaEvaluacion($id){
  86. $val = 0;
  87. if ($this->usr != 0){
  88. $existe = Proyecto::existeAsignacion($this->pdo, $this->usr, $id, $this->idetapa);
  89. if ($existe > 0)
  90. $val = 1;
  91. }
  92. return 'data-tipo="' . $val . '"';
  93. }
  94. }