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){ ?>
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']); } } }