<?php
define("SPTMP", "/tmp/code/");
$dh = opendir(ROOTPATH.SPTMP);

while(($filename = readdir($dh)) !== false)
{
if(is_file(ROOTPATH.SPTMP.$filename))
{
if(fileatime(ROOTPATH.SPTMP.$filename) < (time() - 300)) unlink(ROOTPATH.SPTMP.$filename);
}
}
closedir($dh);

if(!isset($_POST['action']))
{

include(ROOTPATH."/includes/classes/sid.class");
$code=rand(1000, 9999);
$session = new session();
$session->__construct("", ROOTPATH.SPTMP);
$session->put_info($code);
echo ("<div class='lu4'>");
echo(
"<div class='form'>\n".
"<form action='".PATH."/".VERSION."/forgot/?".SESSION."' method='post'>\n".
"ID:<br />\n".
"<input type='text' name='id' maxlength='10' format='*N' /><br />\n".
"E-mail:<br />\n".
"<input type='text' name='email' maxlength='40' /><br />\n".
"<img src='".PATH."/code.php?".$session->sid."' alt='Loading' width='40' height='20' /><br />\n".
"Введите код с картинки:<br />\n".
"<input type='text' name='code' format='*N' maxlength='4' /><br />\n".
"<input type='hidden' name='sid' value='".$session->sid."' />\n".
"<input type='hidden' name='action' value='SportSoft' />\n".
"<input type='submit' value='Вспомнить' />\n".
"</form>\n".
"</div></div>\n");
}
else
{
do
{
$id = (int) $_POST['id'];
$email = trim($_POST['email']);
$code = (int) $_POST['code'];
$sid = (string) $_POST['sid'];

if(get_magic_quotes_gpc()) $email = stripslashes($email);
$email = mysql_escape_string($email);


//PROTECTION
$error = "";

if(is_file(ROOTPATH.SPTMP.$sid)) $realcode = (int) file_get_contents(ROOTPATH.SPTMP.$sid);
if(!preg_match("/^([a-z0-9]{9})$/", $sid) || !file_exists(ROOTPATH.SPTMP.$sid)) $error .= "Ошибочная сессия.<br />\n";
elseif($code == 0) $error .= "Вы не ввели код с картинки.<br />\n";
elseif($realcode != $code) $error .= "Вы ввели неверный код с картинки.<br/>\n";
//SESSION DESTROY
if(is_file(ROOTPATH.SPTMP.$sid)) unlink(ROOTPATH.SPTMP.$sid);

if(empty($id)) $error .= "Вы не заполнили поле 'ID'<br />\n";
elseif($id < 1) $error .= "Неверное значение в поле 'ID'<br/>\n";

if(empty($email)) $error .= "Вы не заполнили поле 'E-mail'<br/>\n";
elseif(!preg_match("/^[0-9a-z_]+@[0-9a-z_\.]+\.[a-z]{2,4}$/i", $email)) $error .= "Введите e-mail в формате admin@".$_SERVER['HTTP_HOST']."<br />\n";

	if(!empty($error))
	{
	echo($error);
	echo("<a href='".PATH."/".VERSION."/forgot/?".SESSION."'>Назад</a><br />\n");
	break;
	}

	$sql = mysql_query("SELECT * FROM `".USERS."` WHERE `id` = ".$id." AND `email` = '".$email."';");
	if(mysql_affected_rows() < 1)
	{
	echo("Регистрационные данные не совпадают!<br />\n");
	break;
	}
	else
	$ud = @mysql_fetch_assoc($sql);

	//MAIL
	$subject = "Восстановление пароля в ".$_SERVER['HTTP_HOST'];

	$body = "";
	$body .= "С IP ".getenv('REMOTE_ADDR')." поступила заявка на восстановление пароля!\n";
	$body .= "Вaши дaнные:\n";
	$body .= "ID: ".$id."\nPassword: ".$ud['password']."\n";
	$body .= "URL caйтa: ".$ud['url']."\n";
	$body .= "Ccылкa в пaнeль yпpaвлeния:\n";
	$body .= "http://".$_SERVER['HTTP_HOST'].PATH."/".VERSION."/login/?id=".$id."&password=".$ud['password']."\n";

	$headers = "";
	$headers .= "From: ".EMAIL." \n";
	$headers .= "Content-Type: text/plain; charset=utf-8\n";
	mail($email, $subject, $body, $headers);

	echo("Пароль был выслан на E-mail, указанный при регистрации!<br />\n");

}
while(true === false);
}

?>