+<?php
+
+ class mw_observer_login extends mw_observer{
+
+ function action_permission_denied(){
+ $env = $this->env();
+ if(!$env->user()){
+ $env->erreur("Merci de vous identifier", "users/identification");
+ $_SESSION["action_after_login"] = "";
+ $params = $_GET;
+ if(isset($params[$env->param("e")])){
+ $_SESSION["action_after_login"] = $params[$env->param("e")];
+ unset($params[$env->param("e")]);
+ }
+ $_SESSION["params_after_login"] = @serialize($params);
+ }
+ }
+
+ function user_login($params){
+ $env = $this->env();
+ $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 ".$params["user"]["login"]
+ );
+ }
+
+ }
+
+?>
\ No newline at end of file