$app->post("/camPass/", function () use($app, $bd) { if (sesionExapirada()) { $app->redirect("/bibliotecaseguridad/salir"); } $passActual = $app->request->post("passAnt"); $passNueva = $app->request->post("passNueva"); $dbManejador = new BDManager(); $resConsulta = $dbManejador->realizarConsulta("SELECT fecha FROM pass WHERE matricula = '" . $_SESSION["usuario"] . "' AND password = sha1('{$passActual}')"); if ($resConsulta) { $resConsulta = $dbManejador->realizarConsulta("SELECT fecha FROM pass WHERE matricula = '" . $_SESSION["usuario"] . "' AND password = sha1('{$passNueva}')"); if ($resConsulta) { echo "La contrasenia ya existe en el historial"; } else { $resConsulta = $dbManejador->realizarConsulta("SELECT password, fecha FROM pass WHERE matricula= '" . $_SESSION["usuario"] . "' ORDER BY fecha DESC LIMIT 3"); if (count($resConsulta) >= 3) { $resConsulta = $dbManejador->realizarAccion("DELETE FROM pass WHERE matricula= '" . $_SESSION["usuario"] . "' ORDER BY fecha ASC LIMIT 1"); } $resConsulta = $dbManejador->realizarAccion("INSERT INTO pass VALUES('" . $_SESSION["usuario"] . "', sha1('{$passNueva}'), NOW())"); echo "La contrase;a fue cambiada correctamente"; } } else { echo "No existe la contrasenia actual"; } echo "<br><a href='" . $app->urlFor("inicio") . "'> Regresar </a>"; /* $consultaResultante = $bd->prepare("SELECT matricula FROM pass WHERE password=sha1('$passActual') AND matricula='". $_SESSION["usuario"] ."';"); $consultaResultante->execute(); if($consultaResultante->rowCount()>0){ $consultaResultante = $bd->prepare("SELECT matricula FROM pass WHERE password=sha1('$passNueva') AND matricula='". $_SESSION["usuario"] ."';"); $consultaResultante->execute(); if($consultaResultante->rowCount() == 0){ $consultaResultante = $bd->prepare("SELECT fecha from pass where matricula='". $_SESSION["usuario"] ."' ORDER BY fecha ASC LIMIT 1;");
renderPrincipal($twig, "principal.html", "Usuario registrado correctamente"); }); $app->post('/nuevaContrasenia', function () use($app) { if (!isSessionExpired()) { $bdManager = new BDManager(); $currentPass = $app->request->post("currentPass"); $newPass = $app->request->post("newPass"); $resultadoConsulta = $bdManager->realizarConsulta("SELECT antiguedad FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' AND pass=sha1('" . $currentPass . "')"); if ($resultadoConsulta) { $resultadoConsulta = $bdManager->realizarConsulta("SELECT antiguedad FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' and pass=sha1('" . $newPass . "')"); if ($resultadoConsulta) { echo "La contraseña nueva ya fue usada alguna vez."; } else { $resultadoConsulta = $bdManager->realizarConsulta("SELECT pass, antiguedad FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' ORDER BY antiguedad DESC LIMIT 3"); if (count($resultadoConsulta) >= 3) { $resultadoConsulta = $bdManager->realizarAccion("DELETE FROM pass WHERE persona_id='" . $_SESSION["user"]->getCorreo() . "' ORDER BY antiguedad ASC LIMIT 1"); } $bdManager->realizarAccion("INSERT INTO pass VALUES('" . $_SESSION["user"]->getCorreo() . "', sha1('" . $newPass . "'), NOW())"); echo "La contraseña se cambió correctamente."; guardarBitacora("<" . $_SESSION["user"]->getCorreo() . "> Cambio de contraseña. ", $app->request()->getIp()); } } else { echo "La contraseña actual que proporsionó no existe."; } } else { echo "Tu sesión fue terminada."; guardarBitacora("<" . $_SESSION["user"]->getCorreo() . "> Sesión expirada antes de cambio de contraseña. ", $app->request()->getIp()); } echo "<br><a href='logout'>Regresar a principal</a>"; }); /* ********************* FUNCIONES ********************* */