Просмотр файла shcms/flogged.php

Размер файла: 5.38Kb
  1. <?
  2. /*
  3. =============================================
  4. Движок: SHCMS Engine
  5. =============================================
  6. Название файла: Восстановление пороля
  7. =============================================
  8. Official website: http://shcms.ru
  9. =============================================
  10. */
  11. define('SHCMS', true);
  12. include_once'../system/inc/basic_settings.php';
  13. $shcmsengine['title'] = 'Восстановление пороля';
  14. include_once'../template/head.php';
  15. $integ = $errors;
  16. $flogged_pass = isset ($_GET['flogged_pass']) ? trim($_GET['flogged_pass']) : '';
  17. switch ($flogged_pass):
  18. case 'an':
  19. $nick = stripslashes($nick);
  20. $nick = htmlspecialchars($nick);
  21. $nick = trim($nick);
  22. $nick = isset($_POST['nick']) ?
  23. rus_lat(strtolower(shcms_sh_shcms($_POST['nick']))) : '';
  24. $email = isset($_POST['email']) ? htmlspecialchars(trim($_POST['email'])) : '';
  25. $integ = false;
  26. if (!$nick or !$email)
  27. $integ = 'Чтобы восстановить пороль вы должны заполнить все поля.';
  28. if (!$integ) {
  29. $mysql_fetch = mysql_query("SELECT * FROM `users` WHERE `login` = '$nick' LIMIT 1");
  30. if (mysql_num_rows($mysql_fetch) == 1) {
  31. $mysql_shcms = mysql_fetch_array($mysql_fetch);
  32. if (empty($mysql_shcms['email']) || $mysql_shcms['email'] != $email)
  33. $integ = 'Вы указали незарегистрированный E-mail <b>('.$email.')</b>';}
  34. else {$integ = 'Вы указали незарегистрированный Логин <b>('.$nick.')</b>';}}
  35. if (!$integ) {
  36. $subject = 'Восстановление пароля';
  37. $mail .= "Чтобы восстановить ваш пороль перейдите по ссылке: http://$_SERVER[HTTP_HOST]/shcms/flogged.php?flogged_pass=change&id=" . $mysql_shcms['id'] . "&code=" . session_id() . "\n\n";
  38. $adds = "From: <" . $emailadmina . ">\r\n";
  39. $adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  40. if (mail($mysql_shcms['email'], $subject, $mail, $adds)) {mysql_query("UPDATE `users` SET `flogged_n` = '" . session_id() . "', `flogged_t` = '$time_date' WHERE `id` = '" . $mysql_shcms['id'] . "'");
  41. echo '<p>Все данные были отправлены на ваш E-mail <b>('.$email.')</b> зайдите на вашу почту и закончите процесс.</p>';}
  42. else {echo '<p>Произошли сбои при отправки E-mail</p>';}}
  43. else {echo '<center><b class="err_fl">Внимание, обнаружена ошибка!</b><hr/>' . $integ . '<br /></center>';}break;
  44. case 'change':
  45. $integ = false;
  46. if (!$id)
  47. $integ = 'Не найдено необходимые данные';
  48. $mysql_fetch = mysql_query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1");
  49. if (mysql_num_rows($mysql_fetch) == 1) {$mysql_shcms = mysql_fetch_array($mysql_fetch);
  50. if (empty($mysql_shcms['flogged_n']) || empty($mysql_shcms['flogged_t'])) {$integ = 'Вы не заполнили все поля и восстановление невозможно';}
  51. if (!$integ && $mysql_shcms['flogged_t'] < $time_date - 3600) {$integ = 'Вы долгое время не закончили процесс восстановления. и вам теперь придется сначала восстановить пороль.';
  52. mysql_query("UPDATE `users` SET `flogged_n` = '', `flogged_t` = '' WHERE `id` = '$id'");}}
  53. else {$integ = 'Логин которую вы ввели'.$nick.' не зарегистрирован на сайте';}
  54. if (!$integ) {$pass = conservation(7);$subject = 'Восстановление прошла успешно.';
  55. $mail .= "Смена вашего старого пороля прошла успешно Вот ваш новый пороль: ".$pass."\r\n";
  56. $adds = "From: <" . $emailadmina . ">\n";
  57. $adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  58. if (mail($mysql_shcms['mail'], $subject, $mail, $adds)) {mysql_query("UPDATE `users` SET `flogged_n` = '', `password` = '" . md5(md5($pass)) . "' WHERE `id` = '$id'");
  59. echo '<div class="ok">Смена пороля для логина '.$nick.'</div><hr/>';
  60. echo 'Ваш пороль был успешно сменен на <b>'.$pass.'</b><br/><hr/>Для безопастности новый пороль вам был выслан на ваш E-mail';}
  61. else {echo 'Произошли неожиданные сбои при отправки E-mail.';}}
  62. else {echo '<center><b class="err_fl">Внимание, обнаружена ошибка!</b><hr/>' . $integ . '<br /></center>';}break;
  63. default:
  64. echo $novstyl_shcms['flogged'];
  65. echo '<form action="flogged.php?flogged_pass=an" method="post">';
  66. echo '<p>Ваш Логин:<br/><input type="text" name="nick" /><br/>';
  67. echo 'Ваш E-Mail:<br/><input type="text" name="email" /></p>';
  68. echo '<p><input type="submit" value="Восстановить"/></p></form>';
  69. echo '<small>* Пороль могут восстановить пользователи которые заполнили email в личных данных</small>';
  70. break;
  71. endswitch;
  72.  
  73. include_once'../template/foot.php';
  74. ?>