index_action.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. require_once '../classes/Proyecto.php';
  3. require_once '../classes/SGI.php';
  4. require_once '../classes/Archivos.php';
  5. require_once '../include/bd_pdo.php';
  6. if(!isset($_POST['tipo'])){
  7. $return['error'] = 'Error! No se recibieron los datos.';
  8. } else {
  9. switch ($_POST['tipo']) {
  10. case 1:
  11. $error = true;
  12. if (Archivos::existeArchivo('img/secciones/index', 'iconos.json')) {
  13. $archivo = '../img/secciones/index/iconos.json';
  14. if (mb_strtoupper(pathinfo($archivo, PATHINFO_EXTENSION)) == 'JSON'){
  15. $archivo = @file_get_contents($archivo);
  16. if ($archivo){
  17. $iconos = json_decode($archivo,true);
  18. $carreras = SGI::getCarreras($pdo);
  19. if (count($carreras) > 0){
  20. array_push($carreras, array('Carrera_id'=> 0,'Carrera_desc' => 'Invitados', 'Carrera_prefijo' => 'ESP'));
  21. $existen = Proyecto::getProyectosPublicables($pdo, $_POST['concurso']);
  22. $existen = array_column($existen, 'idcarrera');
  23. if (($key = array_search(null, $existen)) !== false){
  24. $existen[$key] = 0;
  25. }
  26. $html = '';
  27. $lista = '<ul class="hex d-flex flex-row flex-wrap justify-content-sm-around justify-content-start align-items-center text-primary px-5 mb-0">';
  28. foreach($carreras as $carrera){
  29. if (in_array($carrera['Carrera_id'],$existen)){
  30. $habilitado = true;
  31. $color = strtolower($carrera['Carrera_prefijo']);
  32. $pointer = 'pointer';
  33. } else {
  34. $habilitado = false;
  35. $color = 'gris';
  36. $pointer = 'disable';
  37. }
  38. $html .= '<svg id="' . strtolower($carrera['Carrera_prefijo']) .'" class="' . $pointer . ' stroke-miterlimit" viewBox="0 0 322 369.14">
  39. <g transform="translate(7 8.07)">
  40. <path class="stroke-hexagono stroke-' . $color . ' fill-blanco" d="M154,0,0,88.25v176.5L154,353l154-88.25V88.25Z"/>'
  41. . getIconos($iconos, strtolower($carrera['Carrera_prefijo']), $habilitado) .
  42. '</g>
  43. </svg>';
  44. $lista .= '<li class="' . strtolower($carrera['Carrera_prefijo']) . '">' . $carrera['Carrera_desc'] .'</li>';
  45. }
  46. $lista .= '</ul>';
  47. $return['hexagonos'] = $html;
  48. $return['lista'] = $lista;
  49. $error = false;
  50. }
  51. }
  52. }
  53. }
  54. if ($error)
  55. $return['error'] = 'No fue obtener las carreras';
  56. break;
  57. case 2: //Lista de Proyectos
  58. $error = true;
  59. if ($_POST['carrera'] == 'esp')
  60. $carrera = array('Carrera_id'=> 0,'Carrera_desc' => 'Invitados', 'Carrera_prefijo' => 'ESP');
  61. else
  62. $carrera = SGI::buscaCarreraPrefijo($pdo, strtoupper($_POST['carrera']));
  63. if (count($carrera) > 0){
  64. $proyectos = Proyecto::getProyectosPublicables($pdo, $_POST['concurso'], $carrera['Carrera_id']);
  65. if (count($proyectos)){
  66. $html = '<ul class="hex d-flex flex-column justify-content-start align-items-start">';
  67. foreach ($proyectos as $proyecto) {
  68. $html .= '<li class="proyecto ' . $_POST['carrera'] . '" data-id="' . $proyecto['idproyecto'] . '">' . $proyecto['proyecto'] . '</li>';
  69. }
  70. $html .= '</ul>';
  71. $return['carrera'] = $carrera['Carrera_desc'];
  72. $return['lista'] = $html;
  73. $error = false;
  74. }
  75. }
  76. if ($error)
  77. $return['error'] = '<div class="py-5 display-6 text-center">No es posible obtener la información de la carrera seleccionada</div>';
  78. break;
  79. case 3: //Muestra Registro
  80. /*$proyecto = Proyecto::getProyectoXID($pdo, $_POST['proyecto'], -1);
  81. if (count($proyecto) > 0) {
  82. $html = '';
  83. $return['proyecto'] = $proyecto['proyecto'];
  84. $return['alumnos'] = generaAlumnos($pdo, $proyecto['idproyecto']);
  85. $return['asesores'] = generaAsesores($pdo, $proyecto['idproyecto']);
  86. $temp = generaCartel($pdo,$proyecto['idproyecto'],$proyecto['clave'], $proyecto['publicable'], $proyecto['idconcurso'], $_POST['actual']);
  87. $return['cartel'] = $temp['html'];
  88. $return['src'] = $temp['src'];
  89. } else
  90. $return['error'] = 'No se pudieron obtener los datos del proyecto';*/
  91. break;
  92. }
  93. }
  94. $return['json'] = json_encode($return);
  95. echo json_encode($return);
  96. function getIconos($iconos, $carrera, $habilitado){
  97. $html;
  98. if (isset($iconos[$carrera])){
  99. $html = $iconos[$carrera];
  100. if ($habilitado)
  101. $color = 'azul';
  102. else
  103. $color = 'gris';
  104. $html = str_replace ('COLOR', $color, $html);
  105. }
  106. return $html;
  107. }