ChangeSet ID: 26194 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner@winehq.org 2006/07/05 22:37:50
Modified files: . : account.php include : user.php
Log message: Chris Morgan cmorgan@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.