<?php
$IN_ENGINE = true;
$show_menu = true;
$content = "";
$result = "";
require_once("init.php");
if ($logstatus == 3) header("Location: index.php");
require_once("includes/preprocessing.php");
require_once("includes/functions.php");
require_once("includes/dbconnect.php");
require_once("template/header.php");


/****************************/
/* Обработка                */
/****************************/


if (isset($_GET['code']) && !empty($_GET['code'])) {

$query = mysql_query("SELECT count(*) FROM dgh_lostpassword WHERE code = '".$_GET['code']."'");
if (mysql_result($query, 0, 0) != 0) {
	$query = mysql_query("SELECT uid, date FROM dgh_lostpassword WHERE code = '".$_GET['code']."'");
	$query = mysql_fetch_array($query);
	if ((time() - $query['date']) < 86400) {
		$query = mysql_query("SELECT uid, login, email FROM dgh_users WHERE uid = '".$query['uid']."'");
		$query = mysql_fetch_array($query);
		
		$password = generatepass(8, true);
		$update1 = mysql_query("UPDATE dgh_users SET password = '".md5($password)."' WHERE uid = '".$query['uid']."'");
		$update2 = mysql_query("DELETE FROM dgh_lostpassword WHERE code = '".$_GET['code']."'");
		
		if ($update1 && $update2) smtp_send("noreply@dgh.ru", $query['email'], "DGH.ru - Новый пароль", "Здравствуйте!\n\nДанный адрес ".$query['email']." был указан при восстановлении пароля на сайте DGH.ru.\nНовые данные для входа в панель пользователя:\n\n===================\nLogin: ".$query['login']."\nPassword: ".$password."\n===================\n\nМы никогда не попросим у Вас пароль, никому не давайте его!\nЭто письмо написано автоматической системой отправки писем, отвечать на него не нужно.\n\nС уважением, \nАдминистрация DGH.ru http://dgh.ru/");
		$content = "<b>Новый пароль сгенерирован</b>!<br>Используйте данные, отправленные Вам на <b>e-mail</b>, для входа в панель пользователя.<br>Мы никогда не попросим у Вас пароль, никому не давайте его!";
	} else {
		$query = mysql_query("DELETE FROM dgh_lostpassword WHERE code = '".$_GET['code']."'");
		if ($query) $content = "Прошло 24 часа с момента запроса восстановления. Подайте запрос ещё раз.";
	}
} else {
	$content = "Неверная ссылка восстановления!";
}

$title = "Восстановление пароля";
include("template/table_content.php");

} else {

if (isset($_POST['login']) && !empty($_POST['login'])) {
	$query = mysql_query("SELECT count(*) FROM dgh_users WHERE login = '".$_POST['login']."'");
	
	if (mysql_result($query, 0, 0) != 0) {
		$query = mysql_query("SELECT uid, email FROM dgh_users WHERE login = '".$_POST['login']."'");
		$query = mysql_fetch_array($query);
		
		if (!empty($query['email'])) {
			$query2 = mysql_query("SELECT date FROM dgh_lostpassword WHERE uid = '".$query['uid']."'");
			$query2 = mysql_fetch_array($query2);
			
			if ((time() - $query2['date']) > 86400 || empty($query2['date'])) {
				if (!empty($query2['date'])) mysql_query("DELETE FROM dgh_lostpassword WHERE uid = '".$query['uid']."'");
				$now = time();
				
				$query3 = mysql_query("INSERT INTO dgh_lostpassword VALUES ('".$query['uid']."', '".$now."', '".md5($now)."')");
				if ($query3) smtp_send("noreply@dgh.ru", $query['email'], "DGH.RU - Восстановление пароля", "Здравствуйте!\n\nДля данного адреса ".$query['email']." было запрошено восстановление пароля на сайте DGH.RU. Если Вы этого не делали, просто удалите это письмо.\n\nЕсли же запрос на восстановление оставляли Вы, то для получения нового пароля нажмите на ссылку:\n".$site_url."lostpassword.php?code=".md5($now)."\nили скопируйте ее в окно браузера.\n\nЭто письмо написано автоматической системой отправки писем, отвечать на него не нужно.\n\nС уважением, \nАдминистрация DGH.RU http://dgh.ru/");
				$result = "Ссылка для восстановления была отправлена Вам на e-mail";
			} else {
				$result = "Вы уже отправляли запрос на восстановление в течение последних 24 часов ";
			}
		} else {
			$result = "Для Вашего аккаунта не указан e-mail, восстановление пароля невозможно";
		}
	} else {
		$result = "Такой логин в системе не найден";
	}
} elseif (isset($_POST['email']) && !empty($_POST['email'])) {
	$query = mysql_query("SELECT count(*) FROM dgh_users WHERE email = '".$_POST['email']."'");
	if (mysql_result($query, 0, 0) != 0) {
		$query = mysql_query("SELECT uid, email FROM dgh_users WHERE email = '".$_POST['email']."'");
		$query = mysql_fetch_array($query);
		
		$query2 = mysql_query("SELECT date FROM dgh_lostpassword WHERE uid = '".$query['uid']."'");
		$query2 = mysql_fetch_array($query2);
		
		if ((time() - $query2['date']) > 86400 || empty($query2['date'])) {
			if (!empty($query2['date'])) mysql_query("DELETE FROM dgh_lostpassword WHERE uid = '".$query['uid']."'");
			$now = time();
			
			$query3 = mysql_query("INSERT INTO dgh_lostpassword VALUES ('".$query['uid']."', '".$now."', '".md5($now)."')");
			if ($query3) smtp_send("noreply@dgh.ru", $query['email'], "DGH.RU - Восстановление пароля", "Здравствуйте!\n\nДля данного адреса ".$query['email']." было запрошено восстановление пароля на сайте DGH.RU. Если Вы этого не делали, просто удалите это письмо.\n\nЕсли же запрос на восстановление оставляли Вы, то для получения нового пароля нажмите на ссылку:\n".$site_url."lostpassword.php?code=".md5($now)."\nили скопируйте ее в окно браузера.\n\nЭто письмо написано автоматической системой отправки писем, отвечать на него не нужно.\n\nС уважением, \nАдминистрация DGH.RU http://dgh.ru/");
			$result = "Ссылка для восстановления была отправлена Вам на e-mail";
		} else {
			$result = "Вы уже отправляли запрос на восстановление в течение последних 24 часов ";
		}
	} else {
		$result = "Такой e-mail в системе не найден";
	}
}


/****************************/
/* Интерфейс                */
/****************************/


$processing = false;
if (!empty($result)) include("template/query_result.php");

echo "<table cellpadding='0' cellspacing='0' border='0' class='cont_header_txt'><tr><td>Восстановление</td></tr></table>";

$content .= "<table width='100%'>\n";
$content .= "<tr><td colspan='3'>Если Вы забыли пароль, существует 2 способа восстановить его. В обоих случаях Вы должны иметь доступ к Вашей электронной почте. Используйте информацию для восстановления, которую Вы знаете:<br><br></td></tr>";
$content .= "<tr><td width='20%'><form action='' method='POST'><b>Логин:</b></td><td><input class='field' type='text' name='login'></td><td width='20%'><input class='button' type='submit' name='login_s' value='Восстановить' style='float: left'></form></td></tr>\n";
$content .= "<tr><td width='20%'><form action='' method='POST'><b>E-mail:</b></td><td><input class='field' type='text' name='email'></td><td width='20%'><input class='button' type='submit' name='email_s' value='Восстановить' style='float: left'></form></td></tr>\n";
$content .= "</table>\n";

$title = "Восстановление пароля";
include("template/table_content.php");

}

require_once("template/footer.php");
?>