require_once("include/functions.php");
require_once("include/config.php");
dbconn();
standardheader('Password Recovery',true,1);
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "POST")
{
$email = trim($_POST["email"]);
if (!$email)
stderr(ERROR,ERR_NO_EMAIL);
$res = mysql_query("SELECT * FROM users WHERE email=" . sqlesc($email) . " LIMIT 1") or sqlerr();
$arr = mysql_fetch_assoc($res) or stderr(ERROR,ERR_EMAIL_NOT_FOUND_1." $email ".ERR_EMAIL_NOT_FOUND_2);
$floor = 100000;
$ceiling = 999999;
srand((double)microtime()*1000000);
$random = rand($floor, $ceiling);
mysql_query("UPDATE users SET random=$random WHERE id=" . $arr["id"]) or sqlerr();
if (!mysql_affected_rows())
stderr(ERROR,ERR_DB_ERR);
$user_temp_id = $arr["id"];
$user_temp_email = $email;
/*
$body = PASSWORD_REQUEST_MAIL;
*/
$body=<<$email.\n".SUC_SEND_EMAIL_2);
}
elseif($_GET)
{
$id = 0 + $_GET["id"];
$random = $_GET["random"];
if (!$id)
httperr();
$res = mysql_query("SELECT username, email, random FROM users WHERE id = $id");
$arr = mysql_fetch_array($res) or httperr();
$email = $arr["email"];
// generate new password;
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$newpassword = "";
for ($i = 0; $i < 10; $i++)
$newpassword .= $chars[mt_rand(0, strlen($chars) - 1)];
mysql_query("UPDATE users SET password='".md5($newpassword)."' WHERE id=$id AND random=$random");
if (!mysql_affected_rows())
stderr(ERROR,ERR_UPDATE_USER);
$body = <<$email.\n".SUC_SEND_EMAIL_2);
}
else
{
block_begin(RECOVER_TITLE);
print("".RECOVER_DESC."
");
?>
block_end();
}
stdfoot();
?>