123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- <?php
- require_once '../classes/Concurso.php';
- require_once '../classes/Etapa.php';
- require_once '../classes/Proyecto.php';
- require_once '../classes/Archivos.php';
- require_once '../include/bd_pdo.php';
- if(!isset($_POST['tipo'])){
- $return['error'] = 'Error! No se recibieron los datos.';
- } else {
- switch ($_POST['tipo']) {
- case 1: //Listado de Proyectos
- $html = '';
- if ($_POST['carrera'] != 0) {
- $proyectos = Proyecto::getProyectosConcurso($pdo,$_POST['concurso'],$_POST['carrera']);
- $html = '';
- if (count($proyectos) > 0){
- $html = '<div class="row align-items-stretch bg-primary text-white mx-3">
- <div class="col-sm-1 display-7 p-3">Publicado</div>
- <div class="col-sm-9 display-7 p-3">Proyecto</div>
- <div class="col-sm-2 p-3"></div>
- </div>';
- foreach ($proyectos as $proyecto){
- $html .= '<div class="row align-items-center bordeInf mx-3">
- <div class="col-sm-1 d-flex flex-row justify-content-center align-items-center p-2">';
- if ((bool)$proyecto['publicable'])
- $html .= '<span class="text-success iconoBig ing-aceptar"></span>';
- $html .= '</div>
- <div class="col-sm-9 d-flex flex-row justify-content-start align-items-center p-2">' . $proyecto['proyecto'] . '</div>
- <div class="col-sm-2 p-2 d-flex flex-row justify-content-center align-items-center">
- <button type="submit" class="border-0 p-2 bg-white text-azul1 iconoBig mx-1 ing-mi-cartel" data-tipo="1" data-id="' . $proyecto['idproyecto'] . '"></button>
- <button type="submit" class="border-0 p-2 bg-white text-primary mx-1 iconoBig ing-editar" data-tipo="2" data-id="' . $proyecto['idproyecto'] . '"></button>
- <button type="submit" class="border-0 p-2 bg-white text-danger mx-1 iconoBig ing-basura" data-tipo="3" data-id="' . $proyecto['idproyecto'] . '"></button>
- </div>
- </div>';
- }
- $return['lista'] = $html;
- } else
- $return['error'] = 'No se tienen registros para ésta edición';
- } else {
- $proyectos = Proyecto::getProyectosConcurso($pdo, $_POST['concurso']);
- if (count($proyectos) > 0) {
- $carreras = SGI::getCarreras($pdo);
- if (count($carreras) > 0) {
- array_push($carreras, array('Carrera_id' => 0,'Carrera_desc' => 'Invitados', 'Carrera_prefijo' => 'ESP'));
- $html .= '<div class="row align-items-stretch bg-primary text-white mx-3">
- <div class="col-sm-1 display-7 p-3" id="titPublica">Publicado</div>
- <div class="col-sm-2 text-center display-7 p-3">Carrera</div>
- <div class="col-sm-7 display-7 p-3">Proyecto</div>
- <div class="col-sm-2 p-3"></div>
- </div>';
- foreach ($carreras as $carrera){
- $tempProyectos = obtenerProyectos($proyectos,$carrera['Carrera_id']);
- foreach ($tempProyectos as $proyecto){
- $checked = '';
- $html .= '<div class="row renglon ' . $carrera['Carrera_prefijo'] . ' align-items-center bordeInf mx-3">
- <div class="col-sm-1 d-flex flex-row justify-content-center align-items-center p-2">';
- if ((bool)$proyecto['publicable']){
- $html .= '<span class="text-success iconoBig ing-aceptar publicado"></span>';
- $checked = ' checked';
- }
- $html .= '<div class="publica">
- <input type="checkbox" name="publica[]" value="' . $proyecto['idproyecto'] . '" id="publica' . $proyecto['idproyecto'] . '" ' . $checked . ' />
- <label class="mb-0 ing-autorizar" for="publica' . $proyecto['idproyecto'] . '"></label>
- </div>
- </div>
- <div class="col-sm-2 d-flex flex-row justify-content-center align-items-center text-center p-2">' . $carrera['Carrera_desc'] . '</div>
- <div class="col-sm-7 d-flex flex-row justify-content-start align-items-center p-2">' . $proyecto['proyecto'] . '</div>
- <div class="col-sm-2 p-2 text-center">
- <button type="submit" class="border-0 p-2 bg-white text-azul1 mx-1 iconoBig ing-mi-cartel" data-tipo="1" data-id="' . $proyecto['idproyecto'] . '"></button>
- <button type="submit" class="border-0 p-2 bg-white text-primary mx-1 iconoBig ing-editar" data-tipo="2" data-id="' . $proyecto['idproyecto'] . '"></button>
- <button type="submit" class="border-0 p-2 bg-white text-danger mx-1 iconoBig ing-basura" data-tipo="3" data-id="' . $proyecto['idproyecto'] . '"></button>
- </div>
- </div>';
- }
- }
- $html .='</div></div>';
- $return['lista'] = $html;
- } else
- $return['error'] = 'No fue posible obtener las carreras';
- } else
- $return['error'] = 'No se tienen registros para ésta edición';
- }
- break;
- case 2: //Autoriza proyectos
- $autorizados = true;
- foreach ($_POST['publicar'] as $publicar){
- if (!Proyecto::actualizaPublicable($pdo, $publicar, true))
- $autorizados = false;
- }
- foreach ($_POST['nopublicar'] as $nopublicar){
- if (!Proyecto::actualizaPublicable($pdo, $nopublicar, false))
- $autorizados = false;
- }
- if ($autorizados)
- $return['ok'] = 'Los proyectos se autorizaron correctamente';
- else
- $return['error'] = 'No fue posible autorizar los proyectos';
- break;
- case 3: //Carga Cartel
- $proyecto = Proyecto::getProyectoXID($pdo, $_POST['proyecto']);
- $return['tema'] = $proyecto['proyecto'];
- $return['alumnos'] = organizaNombres(Proyecto::alumnosProyecto($pdo, $_POST['proyecto']));
- $return['cartel'] = cargaCartel($pdo, $_POST['proyecto'], $proyecto['idconcurso'], $proyecto['clave']);
- break;
- case 4: //Guarda cartel editor
- if (isset($_POST['datos']))
- $datos = json_decode($_POST['datos'],true);
- $guarda = false;
- if (isset($datos['html'])){
- $temp = strstr($datos['html'],'<div class="centro"></div>');
- if ($temp){
- if(!strstr($temp,'Listado de referencias'))
- $guarda = true;
- } else
- $guarda = true;
- }
- if ($guarda) {
- $proyecto = Proyecto::getProyectoXID($pdo, $_POST['proyecto']);
- $concurso = Concurso::getConcurso($pdo, $proyecto['idconcurso']);
- if (isset($proyecto['clave']))
- $nombre = $proyecto['clave'];
- else
- $nombre = 'cartel';
- if(file_put_contents('../concursos/' . $concurso['carpeta'].'/' . $nombre . '.json', $_POST['datos']))
- $return['ok'] = 'El cartel se guardó exitósamente';
- else
- $return['error'] = 'No fue posible guardar el cartel';
- } else {
- $return['error'] = 'El cartel aún no tiene información';
- }
- break;
- case 5: //Califica proyecto
- /*if(is_null($pdo)){
- $return['error'] = 'Error! No se pudieron obtener los datos';
- } else {
- $etapa = Etapa::getClaveEtapaXID($pdo, $_POST['etapa']);
- $recursos = Recurso::recursosProyectoEtapa($pdo, $_POST['proyecto'], $_POST['etapa']);
- if (count($recursos) > 0){
- switch (mb_strtoupper($etapa)){
- case 'REVISION':
- $carpeta = Proyecto::carpetaProyecto($pdo, $_POST['proyecto']);
- if (!empty($carpeta))
- $carpeta = 'concursos/' . $carpeta;
- foreach($recursos as $recurso){
- if (isset($recurso['escrito']) && !empty($carpeta))
- $return['archivo'] = $carpeta . '/' . $recurso['escrito'];
- else
- $return['error'] = 'No hay contenido disponible';
- }
- break;
- case 'EVALUACION':
- foreach($recursos as $recurso){
- if (isset($recurso['html']))
- $return['html'] = 'include/crea_cartel.php?proyecto=' . $_POST['proyecto'];
- if (isset($recurso['video']))
- $return['video'] = 'https://www.youtube.com/embed/' . $recurso['video'];
- }
- break;
- }
- } else
- $return['error'] = 'No hay contenido disponible';
- }*/
- break;
- }
- }
- $return['json'] = json_encode($return);
- echo json_encode($return);
- function organizaNombres($usuarios){
- $nombres = '';
- foreach ($usuarios as $usuario){
- $nombres .= $usuario['apellidos'] . ' ' . $usuario['nombre'] . ', ';
- }
- if (!empty($nombres))
- $nombres = substr($nombres,0,-2);
- return $nombres;
- }
- function cargaCartel($pdo, $idproyecto, $idconcurso, $clave){
- $html = '';
- $concurso = Concurso::getConcurso($pdo, $idconcurso);
- $archivo = Archivos::getRuta() . 'concursos/' . $concurso['carpeta'] . '/' . $clave . '.json';
- if (file_exists($archivo)) {
- $archivo = @file_get_contents($archivo);
- if ($archivo){
- $datos = json_decode($archivo,true);
- if (count($datos) > 0) {
- $html .= '<style>' . $datos['css'] . '</style>' . $datos['html'];
- }
- }
- }
- return $html;
- }
- function obtenerProyectos($gralProyectos, $idCarrera){
- $proyectos = array();
- foreach ($gralProyectos as $proyecto){
- if ($proyecto['idcarrera'] == $idCarrera)
- array_push ($proyectos,$proyecto);
- else {
- if (is_null($proyecto['idcarrera']) && ($idCarrera == 0))
- array_push ($proyectos,$proyecto);
- }
- }
- return $proyectos;
- }
|