misproyectos_action.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?php
  2. session_start();
  3. require_once '../classes/Concurso.php';
  4. require_once '../classes/Etapa.php';
  5. require_once '../classes/Proyecto.php';
  6. require_once '../classes/Usuario.php';
  7. require_once '../classes/SGI.php';
  8. require_once '../classes/Archivos.php';
  9. require_once '../include/bd_pdo.php';
  10. if(!isset($_POST['tipo'])){
  11. $return['error'] = 'Error! No se recibieron los datos.';
  12. } else {
  13. switch ($_POST['tipo']) {
  14. case 1: //Lista de Proyectos
  15. $cont = 0;
  16. $html = '';
  17. if ($_POST['rol'] == 'ALUMNO')
  18. $proyectos = Proyecto::alumnoTieneProyectos($pdo, $_POST['concurso'], $_SESSION['EI_usuario_id']);
  19. else {
  20. $etapa = Etapa::getIdEtapa($pdo, 'REGISTRO');
  21. $proyectos = Asignacion::getAsignaciones($pdo, 'USUARIO', $_SESSION['EI_usuario_id'], $etapa, $_POST['concurso']);
  22. }
  23. foreach($proyectos as $idproy) {
  24. $proyecto = Proyecto::getProyectoXID($pdo, $idproy['idproyecto']);
  25. $html .= '<li data-id="' . $proyecto['idproyecto'] . '">' . $proyecto['proyecto'] . '</li>';
  26. $cont++;
  27. }
  28. $return['lista'] = $html;
  29. $return['num'] = $cont;
  30. break;
  31. case 2: //Muestra Registro
  32. $proyecto = Proyecto::getProyectoXID($pdo, $_POST['proyecto'], -1);
  33. if (count($proyecto) > 0) {
  34. $html = '';
  35. $return['proyecto'] = $proyecto['proyecto'];
  36. $return['alumnos'] = generaAlumnos($pdo, $proyecto['idproyecto']);
  37. $return['asesores'] = generaAsesores($pdo, $proyecto['idproyecto']);
  38. $temp = generaCartel($pdo,$proyecto['idproyecto'],$proyecto['clave'], $proyecto['publicable'], $proyecto['idconcurso'], $_POST['actual']);
  39. $return['cartel'] = $temp['html'];
  40. $return['src'] = $temp['src'];
  41. } else
  42. $return['error'] = 'No se pudieron obtener los datos del proyecto';
  43. break;
  44. }
  45. }
  46. $return['json'] = json_encode($return);
  47. echo json_encode($return);
  48. /********** MUESTRA INFORMACIÓN *********/
  49. function generaAlumnos($pdo, $idproyecto) {
  50. $html = '';
  51. $alumnos = Proyecto::alumnosProyecto($pdo, $idproyecto);
  52. if (count($alumnos) > 0){
  53. foreach ($alumnos as $alumno){
  54. $html .= '<div class="d-flex flex-column justify-content-start align-items-start mb-3">
  55. <div class="indivisa-text-bold-italic">' . $alumno['nombre'] . ' ' . $alumno['apellidos'] .'</div>';
  56. $usuario = Usuario::getUsuarioxId($pdo, $alumno['idalumno']);
  57. if (!is_null($usuario['interno'])){
  58. $datos = SGI::buscaDatosAlumnoInterno($pdo, $usuario['interno'], '');
  59. $html .= '<div class="ml-3"><span class="indivisa-text-bold mr-2">Clave:</span><span>' . $datos['Usuario_claveULSA'] . '</span></div>
  60. <div class="ml-3"><span class="indivisa-text-bold mr-2">Carrera:</span><span>' . $datos['Carrera_desc'] . '</span></div>';
  61. } else{
  62. $datos = Usuario::datosExterno($pdo, $usuario['externo']);
  63. if (!empty($datos['carrera'])){
  64. $html .= '<div class="ml-3"><span class="indivisa-text-bold mr-2">Carrera:</span><span>' . $datos['carrera'] . '</span></div>';
  65. }
  66. }
  67. $html .= '</div>';
  68. }
  69. }
  70. return $html;
  71. }
  72. function generaAsesores($pdo, $idproyecto){
  73. $html = '';
  74. $registro = Etapa::getIdEtapa($pdo,'REGISTRO');
  75. $asesores = Proyecto::getAsignacionesProyecto($pdo, $_POST['proyecto'], $registro);
  76. foreach ($asesores as $asesor) {
  77. $nombre = Usuario::getNombreUsuario($pdo, $asesor['idusuario']);
  78. $html .= '<div class="indivisa-text-bold-italic mb-3">' . $nombre['nombre'] . ' ' . $nombre['apellidos'] .'</div>';
  79. }
  80. return $html;
  81. }
  82. function generaCartel($pdo, $idproyecto, $clave, $publicable, $idconcurso, $actual){
  83. $html = '';
  84. $archivo = '';
  85. $concurso = Concurso::getConcurso($pdo, $idconcurso);
  86. if (count($concurso) > 0){
  87. if (Archivos::existeArchivo('concursos/'.$concurso['carpeta'], $clave . '.json')){
  88. if ($publicable){
  89. if ($idconcurso == $actual)
  90. $html .= '<div class="text-center text-success indivisa-text-bold">El cartel ya fue autorizado para publicación</div>';
  91. else
  92. $html .= '<div class="text-center text-success indivisa-text-bold">Cartel Publicado</div>';
  93. } else {
  94. if ($idconcurso == $actual)
  95. $html .= '<div class="text-center text-danger indivisa-text-bold">El cartel aún no ha sido autorizado para publicación</div>';
  96. else
  97. $html .= '<div class="text-center text-danger indivisa-text-bold">Cartel No fue Publicado</div>';
  98. }
  99. $html .= '<div class="d-flex flex-column justify-content-center align-items-center pointer btnIcon" data-toggle="modal" data-target="#modalCartel">
  100. <div class="display-5 text-azul1 text-center ing-mi-cartel"></div>
  101. <div class="text-center small">Ver Cartel</div>
  102. </div>';
  103. $archivo = 'include/crea_cartel.php?proyecto=' . $idproyecto;
  104. } else {
  105. if ($idconcurso != $actual)
  106. $texto = 'No se creó ningún cartel para el proyecto';
  107. else
  108. $texto = 'No existe de momento ningún cartel creado';
  109. $html = '<div class="text-center indivisa-text-bold">' . $texto . '</div>
  110. <div class="display-5 text-center text-danger ing-no-cargado my-3"></div>';
  111. }
  112. }
  113. return array('html' => $html, 'src' => $archivo);
  114. }