tieneAcceso()){ $objSesion->terminaSesion(); } $objSesion->validaPeriodoUsuario();//si no tiene periodo manda a main if(!$objSesion->puedeEditar()){ $errorDesc = "No puedes editar el horario."; } //Revalida permisos de jefes de carreras $stmt = $pdo->prepare('Select * from fs_usuario(:id)'); $stmt->bindParam(":id", $_SESSION["usuario_id"]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); header("Location: ../index.php?error=2"); exit(); } $rs = $stmt->fetch();//Devuelve sólo 1 resultado $_SESSION["jefe_carrera"] = $rs["es_JefeCarrera"]; $rs = null; unset($rs); //Obtiene grupos del periodo $stmt = $pdo->prepare('Select * from fs_grupo(NULL, :periodo) WHERE "Grupo_copia" IS NULL'); $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); if(!$stmt->execute()){ header("Location: grupos.php?error=4"); exit(); }else{ $grupos_rs = $stmt->fetchAll(); } $stmt->closeCursor(); if(!is_array($grupos_rs) || count($grupos_rs) == 0){ header("Location: grupos.php?error=5"); exit(); } if(isset($_POST["grupo"]) && is_numeric($_POST["grupo"]) && $_POST["grupo"] != ""){ $filter_grupo = filter_input(INPUT_POST, "grupo", FILTER_SANITIZE_NUMBER_INT);//limpia texto $stmt = $pdo->prepare('Select * from fs_grupo(:grupo, :periodo)'); $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); $stmt->bindParam(":grupo", $filter_grupo); if(!$stmt->execute()){ $errorDesc = "Ocurrió un error al cargar el grupo."; }else{ $grupo_actual_rs = $stmt->fetch(); if(!is_array($grupo_actual_rs) || count($grupo_actual_rs) == 0){ $stmt->closeCursor(); header("Location: grupos.php?error=6"); exit(); } } $stmt->closeCursor(); //Obtiene materias del grupo if(!$_SESSION["sgi_administrador"]){ $stmt = $pdo->prepare('Select * from fs_materiagrupo(:plan, :sem, :usr)'); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); }else{ $stmt = $pdo->prepare('Select * from fs_materiagrupo(:plan, :sem, NULL)'); } $stmt->bindParam(":plan", $grupo_actual_rs["PlanEstudio_id"]); $stmt->bindParam(":sem", $grupo_actual_rs["Grupo_semestre"]); if(!$stmt->execute()){ //header("Location: materias.php?error=2"); $errorDesc = "Error al cargar materias"; //print_r($stmt->errorInfo()); //exit(); }else $materias_rs = $stmt->fetchAll(); $stmt->closeCursor(); if(!isset($materias_rs) || count($materias_rs) == 0){ $errorDesc = "No tienes materias asignadas. No puedes editar ni crear materias para el grupo."; } //Obtiene profesores posibles del grupo $stmt = $pdo->prepare('Select * from fs_profesores() WHERE "Disponibilidad" = true'); if(!$stmt->execute()){ //header("Location: materias.php?error=2"); $errorDesc = "Error al cargar profesores del grupo"; print_r($stmt->errorInfo()); exit(); }else $prof_gpo_rs = $stmt->fetchAll(); $stmt->closeCursor(); } function enBloqueClase($pdo, $hora, $frac, $nivel){ $stmt = $pdo->prepare('Select * from fs_horaclase(:nivel, NULL)'); $stmt->bindParam(":nivel", $nivel); $stmt->execute(); $bloque_rs = $stmt->fetchAll(); $horaFracc = $hora .":". (60/FRACCION_HORA*$frac).":00"; foreach($bloque_rs as $bloque){ if(strtotime($horaFracc) >= strtotime($bloque["HoraClase_inicio"]) && strtotime($horaFracc) < strtotime($bloque["HoraClase_final"])) return "fraccion-sugerida"; } return ""; } ?> APSA - Facultad de Ingeniería
printMenu(); //Obtiene fechas de periodo $stmt = $pdo->prepare('Select * from fs_periodo(:periodo, NULL, NULL, true)'); $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar las fechas del periodo"; }else{ $periodo_rs = $stmt->fetch(); } $stmt->closeCursor(); $stmt = null; //--Manejo de errores y mensajes de exito if(isset($_GET["error"]) && is_numeric($_GET["error"])){ switch ($_GET["error"]){ case 0: $errorDesc = "No se reciberon los datos del grupo."; break; case 1: $errorDesc = "Ocurrió un error al insertar los datos del grupo."; break; case 2: $errorDesc = "Ocurrió un error al actualizar los datos del grupo."; break; case 3: $errorDesc = "No tienes permisos para realizar esa acción."; break; } } if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){ switch ($_GET["ok"]){ case 0: $successDesc = "El grupo se guardó correctamente."; break; case 1: $successDesc = "El grupo se actualizó correctamente."; break; } } ?>
tieneAcceso()){ ?>

Selecciona un grupo
  • " >

Grupo

prepare('Select * from fs_dia(NULL)'); if(!$stmt->execute()){ echo "Error al obtener los días"; print_r($stmt->errorInfo()); } $dias_rs = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = $pdo->prepare('Select * from fs_salon(NULL, NULL, 0, NULL)'); if(!$stmt->execute()){ echo "Error al obtener los salones"; print_r($stmt->errorInfo()); } $salones_rs = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; /* Definidas en constantes.php HORA_INICIO = 7; HORA_FINAL = 22; FRACCION_HORA = 4;*/ ?>

  • " data-max="">0 / hrs

Se ocultarán las materias que no estén activas en esa fecha.
tieneAcceso()){ ?>

Haz clic en el calendario para asignar una materia.

Las materias marcadas con necesitan datos.

".$dia["Dia_desc"].""; } ?>
Hora
:00
"; foreach($dias_rs as $dia){ //echo "$h2, $f => ".enBloqueClase($h2, $f); $editable = ""; if($objSesion->puedeEditar() && $objSesion->fechaJefes()) $editable = "editable";; echo ""; } echo ""; } } ?>

Materia Día Horario Profesores

Salón:

No hay profesores con disponibilidad de horario asignada

* Sólo se muestran los profesores que capturaron su disponibilidad
0){?>
".$dia["Dia_desc"].""; } ?>
Hora
:00
"; foreach($dias_rs as $dia){ //echo "$h2, $f => ".enBloqueClase($h2, $f); echo ""; } echo ""; } } ?>
prepare('Select * from fs_areaacademica(NULL, :nivel)'); $stmt->bindParam(":nivel", $_SESSION["nivel_id"]); $stmt->execute(); $areas_rs = $stmt->fetchAll(); $stmt->closeCursor(); if(count($areas_rs)>0){ ?>

Áreas académicas
">
puedeEditar() && count($materias_rs) > 0){ ?>
puedeEditar() && $objSesion->fechaJefes() && count($materias_rs) > 0){ ?>