| 1 | <?php |
| 2 | |
| 3 | require_once __DIR__ . "/lib/manejaErrores.php"; |
| 4 | require_once __DIR__ . "/lib/BAD_REQUEST.php"; |
| 5 | require_once __DIR__ . "/lib/recibeTextoObligatorio.php"; |
| 6 | require_once __DIR__ . "/lib/recibeTexto.php"; |
| 7 | require_once __DIR__ . "/lib/devuelveJson.php"; |
| 8 | require_once __DIR__ . "/lib/rolIdsParaUsuId.php"; |
| 9 | require_once __DIR__ . "/SAN.php"; |
| 10 | require_once __DIR__ . "/USU_ID.php"; |
| 11 | require_once __DIR__ . "/ROL_IDS.php"; |
| 12 | require_once __DIR__ . "/Bd.php"; |
| 13 | require_once __DIR__ . "/protegeLogin.php"; |
| 14 | require_once __DIR__ . "/usuarioBuscaSan.php"; |
| 15 | |
| 16 | list($san, $rolIds) = protegeLogin([]); |
| 17 | |
| 18 | $san = recibeTextoObligatorio("san"); |
| 19 | $sen = recibeTexto("sen"); |
| 20 | |
| 21 | $bd = Bd::pdo(); |
| 22 | |
| 23 | $usuario = usuarioBuscaSan($bd, $san); |
| 24 | |
| 25 | if ( |
| 26 | $usuario === false |
| 27 | || !password_verify( |
| 28 | ($sen === false || $sen === null) ? "" : $sen, |
| 29 | $usuario["USU_SEN"] |
| 30 | ) |
| 31 | ) |
| 32 | throw new ProblemDetailsException([ |
| 33 | "status" => BAD_REQUEST, |
| 34 | "type" => "/errors/datosincorrectos.html", |
| 35 | "title" => "Datos incorrectos.", |
| 36 | "detail" => "El san y/o el sen proporcionados son incorrectos.", |
| 37 | ]); |
| 38 | |
| 39 | $_SESSION[SAN] = $san; |
| 40 | $_SESSION[USU_ID] = $usuario[USU_ID]; |
| 41 | |
| 42 | devuelveJson([ |
| 43 | SAN => $san, |
| 44 | ROL_IDS => rolIdsParaUsuId($bd, $usuario[USU_ID]) |
| 45 | ]); |
| 46 | |