ChangeSet ID: 26194 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner(a)winehq.org 2006/07/05 22:37:50 Modified files: . : account.php include : user.php Log message: Chris Morgan <cmorgan(a)alum.wpi.edu> Move $_SESSION['current'] manipulation into user class. Add user::logout() to keep user::login() and logout() symmetrical Patch: http://cvs.winehq.org/patch.py?id=26194 Old revision New revision Changes Path 1.22 1.23 +7 -4 appdb/account.php 1.72 1.73 +13 -0 appdb/include/user.php Index: appdb/account.php diff -u -p appdb/account.php:1.22 appdb/account.php:1.23 --- appdb/account.php:1.22 6 Jul 2006 3:37:50 -0000 +++ appdb/account.php 6 Jul 2006 3:37:50 -0000 @@ -54,7 +54,13 @@ function do_account($cmd = null) exit; case "logout": + /* if we are logged in, log us out */ + if($_SESSION['current']) + $_SESSION['current']->logout(); + + /* destroy all session variables */ $GLOBALS['session']->destroy(); + addmsg("You are successfully logged out.", "green"); redirect(apidb_fullurl("index.php")); exit; @@ -116,8 +122,7 @@ function cmd_do_new() if($result == SUCCESS) { /* if we can log the user in, log them in automatically */ - if($user->login($aClean['ext_email'], $aClean['ext_password']) == SUCCESS) - $_SESSION['current'] = $user; + $user->login($aClean['ext_email'], $aClean['ext_password']); addmsg("Account created! (".$aClean['ext_email'].")", "green"); redirect(apidb_fullurl()); @@ -211,13 +216,11 @@ function cmd_do_login() if($result == SUCCESS) { - $_SESSION['current'] = $user; addmsg("You are successfully logged in as '$user->sRealname'.", "green"); redirect(apidb_fullurl("index.php")); } else { retry("login","Login failed ".$note); - $_SESSION['current'] = ""; } } Index: appdb/include/user.php diff -u -p appdb/include/user.php:1.72 appdb/include/user.php:1.73 --- appdb/include/user.php:1.72 6 Jul 2006 3:37:50 -0000 +++ appdb/include/user.php 6 Jul 2006 3:37:50 -0000 @@ -75,11 +75,24 @@ class User { // Update timestamp and clear the inactivity flag if it was set query_parameters("UPDATE user_list SET stamp = ?, inactivity_warned = '?' WHERE userid='?'", "NOW()", "false", $this->iUserId); + + /* set the session variable for the current user to this user object */ + $_SESSION['current'] = $this; + return SUCCESS; } + + /* null out the session variable for the current user since we failed to login */ + $_SESSION['current'] = ""; return USER_LOGIN_FAILED; } + function logout() + { + /* null out the session current variable to log us out */ + $_SESSION['current'] = ""; + } + /* * Creates a new user.
participants (1)
-
WineHQ