123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313 |
- <?php
- require_once 'Etapa.php';
- require_once 'Recurso.php';
- require_once 'Colores.php';
- class Proyecto {
- /********* GENERALES *********/
- public static function getProyectos($pdo, $concurso, $orden){
- $proyectos_rs = array();
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectos(:id,:orden)');
- $stmt->bindParam(':id', $concurso);
- $stmt->bindParam(':orden', $orden);
- if(!$stmt->execute())
- exit();
- $proyectos_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- return $proyectos_rs;
- }
-
- public static function getProyectoXID($pdo, $idproyecto, $idcat=0){
- $proyecto = array();
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectoxid(:id)');
- $stmt->bindParam(':id', $idproyecto);
- if($stmt->execute()){
- $proyecto_rs = $stmt->fetch();
- $proyecto['idproyecto'] = $idproyecto;
- $proyecto['proyecto'] = $proyecto_rs['proyecto'];
- $proyecto['clave'] = $proyecto_rs['clave'];
- if ($idcat > 0)
- $proyecto['categoria'] = self::getCategoriaXID($pdo, $idcat);
- }
- $stmt->closeCursor();
- $stmt = null;
- return $proyecto;
- }
-
- public static function getCategoriaXID($pdo, $idcategoria){
- $categoria = '';
- $stmt = $pdo->prepare('Select * from cidit_fs_categoriaxid(:id)');
- $stmt->bindParam(':id', $idcategoria);
- if($stmt->execute()){
- $cat = $stmt->fetch();
- $categoria = $cat['categoria'];
- }
- $stmt->closeCursor();
- $stmt = null;
- return $categoria;
- }
-
- public static function getCategoriaNivelXID($pdo, $idcategoria){
- $categoria = '';
- $stmt = $pdo->prepare('Select * from cidit_fs_categoriaxid(:id)');
- $stmt->bindParam(':id', $idcategoria);
- if($stmt->execute()){
- $cat = $stmt->fetch();
- $categoria = $cat['nivel'];
- }
- $stmt->closeCursor();
- $stmt = null;
- return $categoria;
- }
-
- public static function getProyectosAutorizados($pdo, $concurso, $categoria, $orden){
- $autorizados = array();
- if ($categoria == 0)
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectosautorizados(:concurso, null,:orden)');
- else {
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectosautorizados(:concurso,:categoria,:orden)');
- $stmt->bindParam(':categoria', $categoria);
- }
- $stmt->bindParam(':concurso', $concurso);
- $stmt->bindParam(':orden', $orden);
- if(!$stmt->execute())
- exit();
- $autorizados = $stmt->fetchAll();
- return $autorizados;
- }
-
- public static function getProyectosFinalistas($pdo, $concurso, $categoria, $orden){
- $finalistas = array();
- if ($categoria == 0)
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectosfinalistas(:concurso,null,:orden)');
- else {
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectosfinalistas(:concurso,:categoria,:orden)');
- $stmt->bindParam(':categoria', $categoria);
- }
- $stmt->bindParam(':concurso', $concurso);
- $stmt->bindParam(':orden', $orden);
- if(!$stmt->execute())
- exit();
- $finalistas = $stmt->fetchAll();
- return $finalistas;
- }
-
- public static function getProyectosPublicables($pdo, $concurso, $etapa, $orden){
- $publicables = array();
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectospublicables(:id,:orden)');
- $stmt->bindParam(':id', $concurso);
- $stmt->bindParam(':orden', $orden);
- if($stmt->execute())
- $publicables = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- return $publicables;
- }
-
- public static function getProyectosGanadores($pdo, $cat, $concurso){
- $ganadores = array();
- if ($cat == 0)
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectosganadores(null,:concurso)');
- else {
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectosganadores(:cat,:concurso)');
- $stmt->bindParam(':cat', $cat);
- }
- $stmt->bindParam(':concurso', $concurso);
- if(!$stmt->execute())
- exit();
- $ganadores = $stmt->fetchAll();
- return $ganadores;
- }
-
- public static function determinaAccionXEtapa($pdo, $etapa){
- $tipo = array();
- switch (mb_strtoupper(Etapa::getClaveEtapaXID($pdo, $etapa))){
- case 'REVISION':
- $tipo['verbo'] = 'revisar';
- $tipo['accion'] = 'revisión';
- $tipo['pasado'] = 'revisó';
- $tipo['preterito'] = 'revisado';
- break;
- case 'EVALUACION':
- $tipo['verbo'] = 'evaluar';
- $tipo['accion'] = 'evaluación';
- $tipo['pasado'] = 'evaluó';
- $tipo['preterito'] = 'evaluado';
- }
- return $tipo;
- }
-
- public static function estandarizaNumeros($num){
- if ($num > 0 && is_float($num/intval($num)))
- return $num;
- else
- return intval ($num);
- }
-
- public static function existeAsignacion($pdo, $usr, $proyecto, $etapa){
- $id = -1;
- if ($proyecto == 0)
- $stmt = $pdo->prepare('Select idasignacion from cidit_fs_asignacionproyecto(:usr,null,:etapa)');
- else {
- $stmt = $pdo->prepare('Select idasignacion from cidit_fs_asignacionproyecto(:usr,:proyecto,:etapa)');
- $stmt->bindParam(':proyecto', $proyecto);
- }
- $stmt->bindParam(':usr', $usr);
- $stmt->bindParam(':etapa', $etapa);
- if($stmt->execute()){
- $rs = $stmt->fetch();
- if (!$rs)
- $id = 0;
- else
- $id = $rs['idasignacion'];
- }
- return $id;
- }
-
- public static function getProyectosAsignados($pdo, $usr, $etapa){
- $stmt = $pdo->prepare('Select idproyecto from cidit_fs_asignacionproyecto(:usr,null,:etapa)');
- $stmt->bindParam(':usr', $usr);
- $stmt->bindParam(':etapa', $etapa);
- if($stmt->execute()){
- $rs = $stmt->fetchAll();
- return $rs;
- } else
- return null;
- }
-
- public static function getAsignacionesProyecto($pdo, $proyecto, $etapa){
- $stmt = $pdo->prepare('Select * from cidit_fs_asignacionproyecto(null,:proyecto,:etapa)');
- $stmt->bindParam(':proyecto', $proyecto);
- $stmt->bindParam(':etapa', $etapa);
- if($stmt->execute()){
- $rs = $stmt->fetchAll();
- return $rs;
- } else
- return null;
- }
-
- public static function obtenerProyectosFaltantes($pdo, $usr, $etapa){
- $proyectos = array();
- $stmt = $pdo->prepare("Select * from cidit_fs_proyectosfaltantes(:usr,:etapa)");
- $stmt->bindParam(':usr', $usr);
- $stmt->bindParam(':etapa', $etapa);
- if ($stmt->execute()){
- $proyectos_rs = $stmt->fetchAll();
- foreach ($proyectos_rs as $proyecto){
- $proy = Proyecto::getProyectoXID($pdo, $proyecto['idproyecto']);
- if (count($proy) > 0)
- array_push($proyectos,$proy);
- }
- }
- $stmt->closeCursor();
- $stmt = null;
- return $proyectos;
- }
-
- public static function carpetaProyecto($pdo, $idproyecto){
- $carpeta = '';
- $stmt = $pdo->prepare('Select * from cidit_fs_carpetaproyecto(:id)');
- $stmt->bindParam(':id', $idproyecto);
- if($stmt->execute()){
- $carpeta_rs = $stmt->fetch();
- $carpeta = $carpeta_rs['carpeta'];
- }
- $stmt->closeCursor();
- $stmt = null;
- return $carpeta;
- }
-
- public static function miniaturaCartel($pdo, $idproyecto) {
- $imagen = '';
- $etapa = Etapa::buscaEtapaXClave($pdo, 'GALERIA');
- $recurso = Recurso::recursosProyectoXEtapa($pdo, $idproyecto, $etapa['idetapa']);
- if (count($recurso) > 0)
- if (isset ($recurso['img']))
- $imagen = $recurso['img'];
- return $imagen;
- }
-
- /********* REVISIÓN *********/
- public static function getProyectosRevisables($pdo, $concurso, $etapa, $usr){
- $proyectos = array();
- $proyectos_rs = self::getProyectosAutorizados($pdo, $concurso, 0, 'clave');
- foreach($proyectos_rs as $proyecto){
- if (self::existeAsignacion($pdo, $usr, $proyecto['idproyecto'], $etapa) > 0){
- array_push ($proyectos, $proyecto);
- }
- }
- return $proyectos;
- }
-
- /********* EVALUACIÓN *********/
- public static function listadoFinalistas($pdo, $concurso, $categoria = 0){
- $finalistas = self::getProyectosFinalistas($pdo, $concurso, $categoria, 'clave');
- $cont = 0;
- foreach($finalistas as $finalista){ ?>
- <div class="d-flex flex-row align-items-center mb-2">
- <label class="colA <?php echo Colores::getBGColor($cont); ?> text-primary indivisa-text-bold pt-2 mr-3"><?php echo $finalista['clave']; ?></label>
- <label class="text-primary flex-grow-1"><?php echo $finalista['proyecto']; ?></label>
- </div>
- <?php
- $cont++;
- }
- }
-
- public static function getCarteles($pdo, $concurso, $etapa){
- $publicables = self::getProyectosPublicables($pdo, $concurso, $etapa, 'clave');
- $cont = 0;
- $proyectos = array();
- foreach($publicables as $publicable){
- $cartel = self::getProyectoXID($pdo, $publicable['idproyecto'], $publicable['categoria']);
- if (!is_null($cartel) && count($cartel) > 0)
- array_push ($proyectos, $cartel);
- }
- return $proyectos;
- }
-
- public static function getProyectosEvaluables($pdo, $concurso, $etapa, $usr){
- $proyectos = array();
- $proyectos_rs = self::getProyectosPublicables($pdo, $concurso, $etapa, 'clave');
- foreach($proyectos_rs as $proyecto){
- if (self::existeAsignacion($pdo, $usr, $proyecto['idproyecto'], $etapa) > 0){
- array_push ($proyectos, $proyecto);
- }
- }
- return $proyectos;
- }
-
- /********** EDITOR **********/
- public static function alumnoTieneProyecto($pdo, $concurso, $usr){
- $idproyecto = 0;
- $stmt = $pdo->prepare('Select * from cidit_fs_alumnotieneproyecto(:concurso,:usr)');
- $stmt->bindParam(':concurso', $concurso);
- $stmt->bindParam(':usr', $usr);
- if($stmt->execute()){
- $temp = $stmt->fetch();
- $idproyecto = $temp['idproyecto'];
- }
- $stmt->closeCursor();
- $stmt = null;
- return $idproyecto;
- }
-
- public static function alumnosProyecto($pdo, $proyecto){
- $alumnos = array();
- $stmt = $pdo->prepare('Select * from cidit_fs_proyectoalumnos(:proyecto)');
- $stmt->bindParam(':proyecto', $proyecto);
- if($stmt->execute())
- $alumnos = $stmt->fetchAll();
- $stmt->closeCursor();
- $stmt = null;
- return $alumnos;
- }
-
- public static function contenidoCartel($pdo, $proyecto){
- $etapa = Etapa::buscaEtapaXClave($pdo, 'EVALUACION');
- $recursos = Recurso::recursosProyectoXEtapa($pdo, $proyecto, $etapa['idetapa']);
- if (isset($recursos['html'])){
- $carpeta = self::carpetaProyecto($pdo, $_POST['proyecto']);
- }
- }
- }
|