X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fbrisk.phh;h=87185da28b58a1a463528a6034913faacc9c6300;hb=182eff6ad1aafbdcb765a4190a24a1c8f2f93f6b;hp=1fa4e686752baf7b1068c9d2b396eefc3a8c572c;hpb=9832b0d1d25aea976fa0c0962460c3eda1fa38dc;p=brisk.git diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index 1fa4e68..87185da 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -871,12 +871,12 @@ class User { // SHSPLIT save and load function for the User class. - function load_data($id) + static function load_data($id, $sess) { - GLOBAL $sess; - // error_log("User::load_data BEGIN", 0); + log_main("load_data: id [".$id."] sess [".($sess == FALSE ? "FALSE" : $sess)."] "); + $doexit = FALSE; do { if (($tok = @ftok(FTOK_PATH."/user".$id, "B")) == -1) { @@ -895,7 +895,11 @@ class User { if ($shm = shm_attach($tok, $shm_sz)) { $user = @shm_get_var($shm, $tok); - log_only("bri == ".($user == FALSE ? "FALSE" : "TRUE")." bri === ".($user === FALSE ? "FALSE" : "TRUE")." bri isset ".(isset($user) ? "TRUE" : "FALSE")); + if ($sess != FALSE && $user->sess != $sess) { + $doexit = TRUE; + break; + } + log_only("user == ".($user == FALSE ? "FALSE" : "TRUE")." user === ".($user === FALSE ? "FALSE" : "TRUE")." user isset ".(isset($user) ? "TRUE" : "FALSE")); if (isset($user)) log_only("bri count ".count($user)); @@ -903,7 +907,7 @@ class User { log_only("INIT MAIN DATA"); // SHSPLIT FIXME: init_data for User class ?? - $user =& User::create($id, "", ""); + $user = User::create($id, "", ""); if (@shm_put_var($shm, $tok, $user) == FALSE) { log_only("PUT_VAR FALLITA ".strlen(serialize($user))); log_only(serialize($user)); @@ -928,7 +932,7 @@ class User { } - function save_data(&$user, $id) + function save_data($user, $id) { GLOBAL $sess;