nouveau SQL import / maj donnees XML
[mtweb] / mw / app / mods / users / identification.php
index 4be3001..db3b68c 100644 (file)
@@ -6,30 +6,62 @@
     }
 
     function login(&$env){
-      if(!$env->user()){
+      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(
-            isset($_POST["from"]) ? urldecode($_POST["from"]) : $this->env->url(),
+            $env->url($redirect_action, $redirect_params),
             "Vous êtes maintenant identifié en tant que ".$_POST['login']
           );
         }
         else $env->message("Idantifiants incorrects");
       }
-      else $env->message("Vous êtes déjà identifié");
     }
 
     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