tieneAcceso()){ $objSesion->terminaSesion(); }*/ $errorDesc = ""; function tieneArea($rs_areas, $area_id){ foreach($rs_areas as $area){ if($area["Area_id"] == $area_id) return true; } return false; } $stmt = $pdo->prepare('Select * from fs_logAutorizacionHorario(:usr, NULL)'); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); $errorDesc .= "Ocurrió un error al obtener el log de aprobación de horario."; }else $loghorario_rs = $stmt->fetchAll(); ?> APSA - Facultad de Ingeniería
");//usr, menu, pdo, sist $menuObj->printMenu(); $stmt = $pdo->prepare('Select * from fs_periodousuario(:usr)'); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc = "Ocurrió un error al cargar los datos de los periodos."; }else $periodo_rs = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; $errorDesc = ""; if(isset($_SESSION["periodo_id"]) && $_SESSION["periodo_id"] != ""){ $stmt = $pdo->prepare('Select * from fs_alertamateriastiempo(:per, :usr)'); $stmt->bindParam(":per", $_SESSION["periodo_id"]); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc .= "Ocurrió un error al cargar los datos del tiempo faltante de las materias en el periodo.
"; }else $materiasTiempo_rs = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = $pdo->prepare('Select * from fs_alertasalones(:per, :usr)'); $stmt->bindParam(":per", $_SESSION["periodo_id"]); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc .= "Ocurrió un error al cargar los datos de los salones faltantes para las materias en el periodo.
"; }else $salones_rs = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = $pdo->prepare('Select * from fs_alertaprofesores(:per, :usr)'); $stmt->bindParam(":per", $_SESSION["periodo_id"]); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc .= "Ocurrió un error al cargar los datos de los profesores faltantes de las materias en el periodo.
"; }else $profesores_rs = $stmt->fetchAll(); $stmt->closeCursor(); $stmt = null; } $stmt = $pdo->prepare('Select * from fs_alertasubordinadohorario(:usr)'); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $e = $stmt->errorInfo(); $errorDesc .= "Ocurrió un error al cargar los datos de los horarios de los subordinados.
"; }else $horarioSubordinados_rs = $stmt->fetchAll(); $stmt->closeCursor(); //--Manejo de errores y mensajes de exito if(isset($_GET["error"]) && is_numeric($_GET["error"])){ switch ($_GET["error"]){ case 0: $errorDesc = "No se recibió la información del periodo."; break; case 1: $errorDesc = "Ocurrió un error al actualizar el periodo activo."; break; case 2: $errorDesc = "El periodo no puede ser seleccionado."; break; case 3: $errorDesc = "No se recibieron tus datos para actualizarlos."; break; case 4: $errorDesc = "Ocurrió un error al actualizar tus datos."; break; } } if(isset($_GET["ok"]) && is_numeric($_GET["ok"])){ switch ($_GET["ok"]){ case 0: $successDesc = "El periodo se actualizó correctamente."; break; case 1: $successDesc = "Tus datos se registraron correctamente y serán actualizados una vez revisados."; break; } } ?>
0){?>

[] Tu horario administrativo ha sido

tieneAcceso() && $objSesion2->puedeEditar()){ //if(($_SESSION["jefe_carrera"] || $_SESSION["sgi_administrador"] /*|| administrador de sistema*/ ) && $objSesion->getFechaJefes() != ""){ $textRed = ""; if(strtotime("+7 days") >= strtotime($objSesion->getFechaJefes())){ $textRed = "text-danger"; } ?>

Fecha límite para que jefes de área puedan editar horarios: getFechaJefes()); ?>

date('H:i', strtotime($arr[$j]["Hora_inicio"])) ) || (date('H:i', strtotime($arr[$j]["Hora_inicio"])) <= date('H:i', strtotime($arr[$i]["Hora_inicio"])) && date('H:i', strtotime($arr[$j]["Hora_final"])) > date('H:i', strtotime($arr[$i]["Hora_inicio"])) ) ){ if($arr[$i]["TipoHorario_id"] < $arr[$j]["TipoHorario_id"]){ $erroresArr[] = array('nombre'=>$arr[$i]["TipoHorario_desc"], 'dia'=> diaNombre($arr[$i]["Dia_id"]), 'hora_i'=>date('H:i', strtotime($arr[$i]["Hora_inicio"])), 'hora_f'=> date('H:i', strtotime($arr[$i]["Hora_final"]))); $arr[$i]["Duracion"] = (strtotime('2019-01-01 '.$arr[$j]["Hora_inicio"]) - strtotime('2019-01-01 '.$arr[$i]["Hora_inicio"]))/60; if($arr[$i]["Duracion"] <= 0) array_splice($arr, $i, 1); }else{ //if($arr[$i]["TipoHorario_id"] < $arr[$j]["TipoHorario_id"]) $erroresArr[] = array('nombre'=>$arr[$j]["TipoHorario_desc"], 'dia'=> diaNombre($arr[$j]["Dia_id"]), 'hora_i'=>date('H:i', strtotime($arr[$j]["Hora_inicio"])), 'hora_f'=> date('H:i', strtotime($arr[$j]["Hora_final"]))); $arr[$j]["Duracion"] = (strtotime('2019-01-01 '.$arr[$i]["Hora_inicio"]) - strtotime('2019-01-01 '.$arr[$j]["Hora_inicio"]))/60; if($arr[$j]["Duracion"] <= 0) array_splice($arr, $j, 1); } } } } } return $erroresArr; } //Obtiene horario del usuario if($_SESSION["profesor"]){ $stmt = $pdo->prepare('Select * from fs_mihorario(:usr, :per, 3)');//Obtiene todo el calendario $stmt->bindParam(":per", $_SESSION["periodo_id"]); }else $stmt = $pdo->prepare('Select * from fs_mihorario(:usr, 0, 3)');//Obtiene todo el calendario $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); echo "Ocurrió un error al obtener el horario"; }else $horario_rs = $stmt->fetchAll(); if(isset($horario_rs) && count($horario_rs) > 0){ $erroresArr = validaHorarios($horario_rs); if(count($erroresArr) > 0){ ?>

Conflicto en horario

El horario administrativo se traslapa con el horario de clases. Es necesario que modifiques tu horario para que se pueda mostrar correctamente.

Modificar horario

prepare('Select * from fs_checkusuario_estado(:id)'); $stmt->bindParam(":id", $_SESSION["usuario_id"]); if($stmt->execute()){ $checkedo_rs = $stmt->fetch(); if($checkedo_rs["CheckUsuario_Estado_id"]==1){ ?>

Actualización de datos

Tus datos personales están en espera de autorización.

closeCursor(); // cierra conexion de resultado } ?>
tieneAcceso()){ if($_SESSION["jefe_carrera"]){ $edo = 1; }else{ $edo = 2; } $stmt = $pdo->prepare('Select * from fs_reposicion(NULL, :periodo, NULL, NULL, NULL, NULL, :edo, 0, '.MAX_ROWS.' )'); $stmt->bindParam(":periodo", $_SESSION["periodo_id"]); $stmt->bindParam(":edo", $edo); if(!$stmt->execute()){ $errorDesc = "Error al obtener las reposiciones"; //print_r($stmt->errorInfo()); } $reposiciones_rs = $stmt->fetchAll(); $stmt->closeCursor(); $reposiciones_arr = array(); if(isset($reposiciones_rs) && count($reposiciones_rs) > 0){ //Area de usuario $stmt = $pdo->prepare('Select * from fs_areausuario(:usr)'); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc = "Error al obtener el área del usuario"; //print_r($stmt->errorInfo()); } $areas_rs = $stmt->fetchAll(); $stmt->closeCursor(); foreach($reposiciones_rs as $reposicion){ if(tieneArea($areas_rs, $reposicion["Area_id"]) || $_SESSION["sgi_administrador"]){ $reposiciones_arr[] = $reposicion; } } } if(count($reposiciones_arr)>0){ ?>

Las siguientes reposiciones están pendientes

".$rep["Usuario_apellidos"]." ".$rep["Usuario_nombre"]." - ".$rep["Grupo_desc"]." ".$rep["Carrera_prefijo"]." (".fechaSlash($fecha[0]).")

"; }?>
0){?>
tieneAcceso()){ echo "

".$sub["Usuario_apellidos"]." ".$sub["Usuario_nombre"]."

"; }else{ echo "

".$sub["Usuario_apellidos"]." ".$sub["Usuario_nombre"]."

"; } }?>
0){?>
tieneAcceso()){ echo "

".$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"]." - ".$grupo["PlanEstudio_desc"]." (".sprintf('%0.2f', $grupo["TiempoFaltante"])."hrs)

"; }else{ echo "

".$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"]." - ".$grupo["PlanEstudio_desc"]." (".sprintf('%0.2f', $grupo["TiempoFaltante"])."hrs)

"; } }?>
0){ ?>
tieneAcceso()){ echo "

".$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"]." - ".$grupo["PlanEstudio_desc"]." (".$grupo["SinSalon"].")

"; }else{ echo "

".$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"]." - ".$grupo["PlanEstudio_desc"]." (".$grupo["SinSalon"].")

"; } }?>
0){ ?>
tieneAcceso()){ echo "

".$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"]." - ".$grupo["PlanEstudio_desc"]." (".$grupo["SinProfesor"].")

"; }else{ echo "

".$grupo["Grupo_desc"]." ".$grupo["Carrera_prefijo"]." - ".$grupo["PlanEstudio_desc"]." (".$grupo["SinProfesor"].")

"; } }?>
prepare('Select * from fs_periodo(:per, NULL, NULL, NULL)'); $stmt->bindParam(":per", $_SESSION["periodo_id"]); if(!$stmt->execute()){ $errorDesc = "Ocurrió un error al leer los datos de la materia"; }else{ $fecha_rs = $stmt->fetch(); $fecha_max = date('Y-m-d', strtotime($fecha_rs["Periodo_fecha_final"]. ' + 9 days')); $fecha_min = date('Y-m-d', strtotime($fecha_rs["Periodo_fecha_inicial"]. ' - 7 days')); unset($fecha_rs); } $stmt->closeCursor(); //Materias $stmt = $pdo->prepare('Select * from fs_materiasprofesor(:per, :usr)'); $stmt->bindParam(":per", $_SESSION["periodo_id"]); $stmt->bindParam(":usr", $_SESSION["usuario_id"]); if(!$stmt->execute()){ $errorDesc = "Ocurrió un error al leer los datos de la materia"; }else{ $materias_rs = $stmt->fetchAll(); } $stmt->closeCursor(); $objSesion2 = new ValidaSesion($pdo, 85, APSA);//--- Objeto para validar usuario. El id de usuario lo lee desde sesión if(($objSesion2->tieneAcceso() || $_SESSION["sgi_administrador"] ) && isset($fecha_max, $fecha_min) && strtotime($fecha_min) <= strtotime(date("Y-m-d")) && strtotime(date("Y-m-d")) <= strtotime($fecha_max) && count($materias_rs)>0){ ?>

Disponible hasta el

Materias del periodo

".$materia["Grupo_desc"]." ".$materia["Carrera_prefijo"]." - ".$materia["Materia_desc"]."

"; }?>