module config et role webmaster
[mtweb] / mw / app / data / modules / sql / mw_data_users.php
index a1d76bd..32bc0c5 100644 (file)
     function load_session(){
       @session_start();
       if(!isset($_SESSION["id"])) $this->clear_session();
-      if(
-        $user = (
-          isset($_COOKIE["user"]) || isset($_SESSION["user"]) ?
-            $this->user(isset($_COOKIE["user"]) ? $_COOKIE["user"] : $_SESSION["user"])
-          : array()
-        )
-      ){
-        if(isset($_COOKIE["user"])) $this->set_session($user);
+      $user = array();
+      if(isset($_SESSION["user"])){
+        $user = $this->user($_SESSION["user"]);
+      }
+      elseif(isset($_COOKIE["user"]) && isset($_COOKIE["pass"])){
+        if($user = $this->user($_COOKIE["user"])){
+          $user["password"] = $_COOKIE["pass"];
+          $this->set_session($user);
+        }
+      }
+      if($user){
         if(!$this->user_ok($user)){
           $this->clear_session();
           $user = array();
         }
       }
+      else $user = array();
       $this->user = $user;
       return $user;
     }
       $_SESSION["user"] = $user["login"];
       $_SESSION["pass"] = md5($user["password"].$_SESSION["id"]);
       $env = $this->env();
-      return setcookie("user", $user["login"], time() + (60 * 60 * 24 * 7), $env->path("web"));
+      return
+          setcookie("user", $user["login"], time() + (60 * 60 * 24 * 7), $env->path("web"))
+      &&  setcookie("pass", $user["password"], time() + (60 * 60 * 24 * 7), $env->path("web"));
     }
 
     function clear_session(){
       $_SESSION["ip"] = $_SERVER["REMOTE_ADDR"];
       $_SESSION["id"] = md5(rand());
       $env = $this->env();
-      return setcookie("user", "", 0, $env->path("web"));
+      return
+          setcookie("user", "", 0, $env->path("web"))
+      &&  setcookie("pass", "", 0, $env->path("web"));
     }
 
     function get_session_user(){