}
function login(&$env){
- $data = $env->data();
- if($data->login(trim($_POST['login']), trim($_POST['pass']))){
- $env->redirect(
- isset($_POST["from"]) ? urldecode($_POST["from"]) : $env->url(),
- "Vous êtes maintenant identifié en tant que ".$_POST['login']
- );
+ if($_POST){
+ $data = $env->data();
+ if($data->login(trim($_POST['login']), trim($_POST['pass']))){
+ $redirect_action = "index";
+ $redirect_params = array();
+ if(isset($_SESSION["action_after_login"])){
+ $redirect_action = $_SESSION["action_after_login"];
+ unset($_SESSION["action_after_login"]);
+ }
+ if(isset($_SESSION["params_after_login"])){
+ if(!($redirect_params = @unserialize($_SESSION["params_after_login"]))) $redirect_params = array();
+ unset($_SESSION["params_after_login"]);
+ }
+ $env->redirect(
+ $env->url($redirect_action, $redirect_params),
+ "Vous êtes maintenant identifié en tant que ".$_POST['login']
+ );
+ }
+ else $env->message("Idantifiants incorrects");
}
- else $env->message("Idantifiants incorrects");
}
function logout(&$env){
$data = $env->data();
if($data->logout()){
$env->redirect(
- $env->url(),
- "Vous n'êtes plus identifié sur le site"
+ $env->url("users/identification/check_logout"),
+ "Deconnexion en cours...",
+ 0
);
}
else $env->message("Erreur lors de la deconnection. il se peut que vous soyez encore identifié");
}
+ function check_logout(&$env){
+ if($env->user()){
+ $env->erreur("deconnexion impossible. vous êtes toujours identifié sur le site.");
+ }
+ else{
+ $redirect_action = "index";
+ $redirect_params = array();
+ if(isset($_SESSION["action_after_logout"])){
+ $redirect_action = $_SESSION["action_after_logout"];
+ unset($_SESSION["action_after_logout"]);
+ }
+ if(isset($_SESSION["params_after_logout"])){
+ if(!($redirect_params = @unserialize($_SESSION["params_after_logout"]))) $redirect_params = array();
+ unset($_SESSION["params_after_logout"]);
+ }
+ $env->redirect(
+ $env->url($redirect_action, $redirect_params),
+ "Vous n'êtes plus identifié sur le site"
+ );
+ }
+ }
+
}
?>
\ No newline at end of file