getError(); if ($error) { return false; } $pass = utf8_decode($pass); $result = $client->call("valida_user_addo", array($user, $pass)); if ($client->fault) { return false; } else { $error = $client->getError(); if ($error) { return false; } else { if($result) return 1; else return 0; } } } $auth = false; if(!empty($_POST["username"]) && !empty($_POST["passwd"])){ //Existe usuario y contraseña $usr = trim(filter_input(INPUT_POST, "username"));//limpia texto $usr_db = limpiaClave($usr); $pass = $_POST["passwd"]; //trim(filter_input(INPUT_POST, "passwd"));//limpia texto $stmt = $pdo->prepare('Select * from fs_validaclaveulsa(:usr) AS "Usuario_id"'); $stmt->bindParam(":usr", $usr_db); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); header("Location: ../index.php?error=2"); exit(); } $usr_rs = $stmt->fetch();//Devuelve sólo 1 resultado $stmt->closeCursor(); // cierra conexion de resultado $stmt = null; // cierra conexion $usr_id = $usr_rs["Usuario_id"]; $usr_nombre = $usr_rs["Usuario_nombre"]." ".$usr_rs["Usuario_apellidos"]; //---- $stmt = $pdo->prepare('Select * from fs_usuario(:usr)'); $stmt->bindParam(":usr", $usr_id); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); header("Location: ../index.php?error=2"); exit(); } $usr_rs = $stmt->fetch();//Devuelve sólo 1 resultado $stmt->closeCursor(); // cierra conexion de resultado $stmt = null; // cierra conexion $usr_nombre = $usr_rs["Usuario_nombre"]." ".$usr_rs["Usuario_apellidos"]; unset($usr_rs); if(!empty($usr_id)){//Si existe el usuario //if(password_verify($pass, $rs["Usuario_password"])){//Obtiene pass de la BD para comparar con función de PHP $valido = validaUsuario($usr, $pass);//false = error, 0 = sin permiso, 1 = con permiso if($valido === false){ $errorDesc = "El usuario/contraseña son incorrectos"; }else if($valido === 1){ $auth = true; //$pass_new = password_hash($pass, PASSWORD_BCRYPT); setcookie(COOKIE_N, $usr_id, strtotime('today 23:59'), "/"); }else{ $errorDesc = "El usuario/contraseña son incorrectos"; } }else{ $errorDesc = "El usuario no está registrado en el sistema"; } }else if (isset($_COOKIE[COOKIE_N])){ $usr_id = $_COOKIE[COOKIE_N]; $auth=true; $stmt = $pdo->prepare('Select * from fs_usuario(:usr)'); $stmt->bindParam(":usr", $usr_id); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); header("Location: ../index.php?error=2"); exit(); } $usr_rs = $stmt->fetch();//Devuelve sólo 1 resultado $stmt->closeCursor(); // cierra conexion de resultado $stmt = null; // cierra conexion $usr_nombre = $usr_rs["Usuario_nombre"]." ".$usr_rs["Usuario_apellidos"]; unset($usr_rs); } if($auth && !empty($usr_id)){ //Buscar las materias que puede checar $error = false; $fecha = '2021-03-31';//17 $hora = '08:45'; //$fecha = date("Y-m-d"); //$hora = date("H:i"); $esProf = false; $esAdmin = false; $asistRegistrada = false; $msg = 0; $fecha_hora = $fecha." ".$hora; $hasAsistencia = false; //Arrelo para guardar los resultados de las validaciones $asistenciasArr = array( "asistencia" => array("profesor"=>array(), "administrativo"=>array()), "retardo" => array("profesor"=>array(), "administrativo"=>array()) ); //--Profesor LICENCIATURA if(!$error){ //Lee asistencias $stmt = $pdo->prepare('Select * from fs_asistenciaprofesor_busca(:fecha, :hora, :usr, -30, 16, 1)');//Limite inferior es incluyente, limite superior excluyente $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":fecha", $fecha); $stmt->bindParam(":hora", $hora); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); $resultMsg = "No se pudieron leer los horarios."; $error = true; }else{ $esProf = true; $rs = $stmt->fetchAll(); if(count($rs) > 0) $hasAsistencia = true; $asistenciasArr["asistencia"]["profesor"] = array_merge($asistenciasArr["asistencia"]["profesor"], $rs); } $stmt->closeCursor(); } if(!$error){ //Lee retardos $stmt = $pdo->prepare('Select * from fs_asistenciaprofesor_busca(:fecha, :hora, :usr, 16, 31, 1)');//Limite inferior es incluyente, limite superior excluyente $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":fecha", $fecha); $stmt->bindParam(":hora", $hora); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); $resultMsg = "No se pudieron leer los horarios. "; $error = true; }else{ $esProf = true; $rs = $stmt->fetchAll(); if(count($rs) > 0) $hasAsistencia = true; $asistenciasArr["retardo"]["profesor"] = array_merge($asistenciasArr["retardo"]["profesor"], $rs); } $stmt->closeCursor(); } //--Profesor POSGRADO if(!$error){ //Lee asistencias $stmt = $pdo->prepare('Select * from fs_asistenciaprofesor_busca(:fecha, :hora, :usr, -60, 10, 2)');//Limite inferior es incluyente, limite superior excluyente $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":fecha", $fecha); $stmt->bindParam(":hora", $hora); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); $resultMsg = "No se pudieron leer los horarios. "; $error = true; }else{ $esProf = true; $rs = $stmt->fetchAll(); if(count($rs) > 0) $hasAsistencia = true; $asistenciasArr["asistencia"]["profesor"] = array_merge($asistenciasArr["asistencia"]["profesor"], $rs); } $stmt->closeCursor(); } if(!$error){ //Lee retardos $stmt = $pdo->prepare('Select * from fs_asistenciaprofesor_busca(:fecha, :hora, :usr, 10, 31, 2)');//Limite inferior es incluyente, limite superior excluyente $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":fecha", $fecha); $stmt->bindParam(":hora", $hora); if(!$stmt->execute()){ //$t = $stmt->errorInfo(); $resultMsg = "No se pudieron leer los horarios. "; $error = true; }else{ $esProf = true; $rs = $stmt->fetchAll(); if(count($rs) > 0) $hasAsistencia = true; $asistenciasArr["retardo"]["profesor"] = array_merge($asistenciasArr["retardo"]["profesor"], $rs); } $stmt->closeCursor(); } //--Administrativo if(!$error){ //Lee avisos de hoy $avisoArr = array(); $stmt = $pdo->prepare('Select * from fs_avisochecador(:usr, :fecha)'); $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":fecha", $fecha); if($stmt->execute()){ $aviso_rs = $stmt->fetchAll(); foreach($aviso_rs as $aviso){ $avisoArr[] = $aviso["Aviso_texto"]; } }else{ $t = $stmt->errorInfo(); $resultMsg = "No se pudieron obtener los avisos".$t[2]; } $stmt->closeCursor(); //Lee asistencias $stmt = $pdo->prepare('Select * from fs_asistenciaadministrativo_busca(:fecha, :hora, :usr)');//Limite inferior es incluyente, limite superior excluyente $stmt->bindParam(":usr", $usr_id); $stmt->bindParam(":fecha", $fecha); $stmt->bindParam(":hora", $hora); if(!$stmt->execute()){ $t = $stmt->errorInfo(); $resultMsg = "No se pudieron leer los horarios administrativos. "; $error = true; }else{ $esAdmin = true; $rs = $stmt->fetchAll(); if(count($rs) > 0) $hasAsistencia = true; $asistenciasArr["asistencia"]["administrativo"] = array_merge($asistenciasArr["asistencia"]["administrativo"], $rs); } $stmt->closeCursor(); } } function imprimeRegistro($grupo, $materia, $hora, $salon){ $salon = (!empty($salon)) ? "Salón: $salon" : ""; $grupo = (!empty($grupo)) ? $grupo : ""; echo "

$grupo

$materia

Hora: $hora $salon

"; } ?> .: CHKDOR - Facultad de Ingeniería :.
00:00 h
00 Xxx
2000

Facultad de Ingeniería

Iniciar sesión

Utiliza tu usuario y contraseña institucionales

¡ERROR!

0){?>
$aviso
"; } ?>
"; foreach($asistenciasArr as $tipo=>$asist_rol){ foreach($asist_rol as $rol=>$asist){ foreach($asist as $mat){ if($rol == 'profesor') imprimeRegistro($mat["Grupo_desc"].$mat["Carrera_prefijo"], $mat["Materia_desc"], substr($mat["Horario_hora"], 0, -3), $mat["Salon_desc"]); else imprimeRegistro(NULL, "HORARIO ADMINISTRATIVO", substr($mat["Horario_hora"], 0, -3), NULL); } } } echo ""; echo "

No hay horarios por registrar

"; ?>
No hay horarios por registrar"; ?>
resultado

Asistencia

No tiene horario asignado

Verifique que la clave 000 sea correcta.

sin horario

Sin servicio

Por el momento la conexión a internet está fallando, por favor inténtelo más tarde.

Loading...
Conectando
sin red

-