destroy(); addmsg("You are successfully logged out.", "green"); redirect(apidb_fullurl("index.php")); exit; } //not valid command, display error page errorpage("Internal Error","This module was called with incorrect parameters"); exit; } /** * retry */ function retry($cmd, $msg) { addmsg($msg, "red"); do_account($cmd); } /** * create new account */ function cmd_do_new() { if(!ereg("^.+@.+\\..+$", $_POST['ext_email'])) { $_POST['ext_email'] = ""; retry("new", "Invalid email address"); return; } if(strlen($_POST['ext_password']) < 5) { retry("new", "Password must be at least 5 characters"); return; } if($_POST['ext_password'] != $_POST['ext_password2']) { retry("new", "Passwords don't match"); return; } if(!isset($_POST['ext_realname'])) { retry("new", "You don't have a Real name?"); return; } $user = new User(); $result = $user->create($_POST['ext_email'], $_POST['ext_password'], $_POST['ext_realname'], $_POST['CVSrelease'] ); if($result == true) { /* if we can log the user in, log them in automatically */ if($user->login($_POST['ext_email'], $_POST['ext_password'])) $_SESSION['current'] = $user; addmsg("Account created! (".$_POST['ext_email'].")", "green"); redirect(apidb_fullurl()); } else { $_SESSION['current'] = ""; retry("new", "Failed to create account"); } } /** * email lost password */ function cmd_send_passwd() { $note = '(Note: accounts for appdb.winehq.org and bugs.winehq.org ' .'are separated, so You might need to create second account for appdb.)'; $userid = user_exists($_POST['ext_email']); $passwd = generate_passwd(); $user = new User($userid); if ($userid) { if ($user->update(null, $passwd)) { $sSubject = "Application DB Lost Password"; $sMsg = "We have received a request that you lost your password.\r\n"; $sMsg .= "We will create a new password for you. You can then change\r\n"; $sMsg .= "your password at the Preferences screen.\r\n"; $sMsg .= "Your new password is: ".$passwd."\r\n"; if (mail_appdb($user->sEmail, $sSubject ,$sMsg)) { addmsg("Your new password has been emailed to you.", "green"); } else { addmsg("Your password has changed, but we could not email it to you. Contact Support (".APPDB_OWNER_EMAIL.") !", "red"); } } else { addmsg("Internal Error, we could not update your password.", "red"); } } else { addmsg("Sorry, that user (".$_POST['ext_email'].") does not exist.

" .$note, "red"); } redirect(apidb_fullurl("account.php?cmd=login")); } /** * on login handler */ function cmd_do_login() { $user = new User(); $result = $user->login($_POST['ext_email'], $_POST['ext_password']); if($result == true) { $_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'] = ""; } } ?>