Просмотр файла shcms/flogged.php
- <?
- /*
- =============================================
- Движок: SHCMS Engine
- =============================================
- Название файла: Восстановление пороля
- =============================================
- Official website: http://shcms.ru
- =============================================
- */
- define('SHCMS', true);
- include_once'../system/inc/basic_settings.php';
- $shcmsengine['title'] = 'Восстановление пороля';
- include_once'../template/head.php';
- if(isset($user_id)){
- header("Refresh:1; url=/index.php");
- exit();
- }
- if(isset($_POST['email']))
- {$email = $_POST['email'];}
- if(isset($_GET['id']))
- {$id = $_GET['id'];}
- switch($act):
- default:
- echo '<form action="flogged.php?act=passlist" method="post">';
- echo 'Ваш E-Mail:<br/><input type="text" name="email" /></p>';
- echo '<p><input type="submit" value="Восстановить"/></p></form>';
- echo '<small>* Пороль могут восстановить пользователи которые заполнили email в личных данных</small>';
- break;
- case 'passlist':
- if(empty($email))
- {
- errors("Вы не ввели E-mail");
- header("Refresh: 1; url=flogged.php");
- include_once'../template/foot.php';
- exit;
- }
- $email_pass = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `email` = '$email'"));
- if($email_pass['email'] == false)
- {
- errors("Введенный вами E-mail не зарегистрирован на сайте");
- header("Refresh: 1; url=flogged.php");
- include_once'../template/foot.php';
- exit;
- }
- $subject = 'Восстановление пароля';
- $mail .= "Чтобы восстановить ваш пороль перейдите по ссылке:
- http://$_SERVER[HTTP_HOST]/shcms/flogged.php?act=change&id=" . $email_pass['id'] . "&code=" . session_id() . "\n\n";
- $adds ="From: SHCMS Engine <shcms@".$_SERVER['HTTP_HOST'].">\r\n" .
- $adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
- if (mail($email_pass['email'], $subject, $mail, $adds))
- {
- mysql_query("UPDATE `users` SET `flogged_n` = '" . session_id() . "', `flogged_t` = '$time_date' WHERE `id` = '" . $email_pass['id'] . "'");
- echo '<p>Все данные были отправлены на ваш E-mail <b>('.$email.')</b> зайдите на вашу почту и закончите процесс.</p>';}
- else {echo '<p>Произошли сбои при отправки E-mail</p>';}
- break;
- case 'change':
- $pass_new = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1"));
- if ($pass_new['flogged_t'] < (time()-3600))
- {
- errors('Время восстановления пороля исчерпано');
- mysql_query("UPDATE `users` SET `flogged_n` = '', `flogged_t` = '' WHERE `id` = '$id'");
- header("Refresh: 1; url=/index.php");
- include_once'../template/foot.php';
- exit;
- }
- if(isset($_POST['submit'])) {
- $submit = $_POST['submit'];
- }
- if(isset($submit))
- {
- if (empty($pass_new['flogged_n']) || empty($pass_new['flogged_t']))
- {
- errors("Вы неправильно восстановили пороль");
- header("Refresh: 1; url=/index.php");
- include_once'../template/foot.php';
- exit;
- }
- if(isset($_POST['pass1'])) {
- $pass1 = $_POST['pass1'];
- }
- if(isset($_POST['pass2'])) {
- $pass2 = $_POST['pass2'];
- }
- if(empty($pass1) and empty($pass2))
- {
- errors("Вы не ввели новый пороль");
- include_once'../template/foot.php';
- exit;
- }
- if($pass1 == $pass2)
- {
- mysql_query("UPDATE `users` SET `flogged_n` = '', `password` = '" . md5(md5($pass1)) . "' WHERE `id` = '$id'");
- echo 'Ваш пороль был успешно сменен на <b>'.$pass1.'</b><br/><hr/>Для безопастности новый пороль вам был выслан на ваш E-mail';
- include_once'../template/foot.php';
- exit;
- }
- }
- echo '<form action="?act=change&id='.$id.'&code='.session_id().'" method="post">';
- echo 'Новый пороль:<br/> <input type="text" name="pass1"><br/>';
- echo 'Повторить новый пороль:<br/> <input type="text" name="pass2"><br/>';
- echo '<input type="submit" name="submit" value="Сменить пороль">';
- break;
- endswitch;
- include_once'../template/foot.php';
- ?>