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

Размер файла: 4.39Kb
  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.  
  16. if(isset($user_id)){
  17. header("Refresh:1; url=/index.php");
  18. exit();
  19. }
  20.  
  21. if(isset($_POST['email']))
  22. {$email = $_POST['email'];}
  23. if(isset($_GET['id']))
  24. {$id = $_GET['id'];}
  25.  
  26. switch($act):
  27. default:
  28. echo '<form action="flogged.php?act=passlist" method="post">';
  29. echo 'Ваш E-Mail:<br/><input type="text" name="email" /></p>';
  30. echo '<p><input type="submit" value="Восстановить"/></p></form>';
  31. echo '<small>* Пороль могут восстановить пользователи которые заполнили email в личных данных</small>';
  32. break;
  33. case 'passlist':
  34. if(empty($email))
  35. {
  36. errors("Вы не ввели E-mail");
  37. header("Refresh: 1; url=flogged.php");
  38. include_once'../template/foot.php';
  39. exit;
  40. }
  41. $email_pass = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `email` = '$email'"));
  42. if($email_pass['email'] == false)
  43. {
  44. errors("Введенный вами E-mail не зарегистрирован на сайте");
  45. header("Refresh: 1; url=flogged.php");
  46. include_once'../template/foot.php';
  47. exit;
  48. }
  49. $subject = 'Восстановление пароля';
  50. $mail .= "Чтобы восстановить ваш пороль перейдите по ссылке:
  51. http://$_SERVER[HTTP_HOST]/shcms/flogged.php?act=change&id=" . $email_pass['id'] . "&code=" . session_id() . "\n\n";
  52. $adds ="From: SHCMS Engine <shcms@".$_SERVER['HTTP_HOST'].">\r\n" .
  53. $adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  54. if (mail($email_pass['email'], $subject, $mail, $adds))
  55. {
  56. mysql_query("UPDATE `users` SET `flogged_n` = '" . session_id() . "', `flogged_t` = '$time_date' WHERE `id` = '" . $email_pass['id'] . "'");
  57. echo '<p>Все данные были отправлены на ваш E-mail <b>('.$email.')</b> зайдите на вашу почту и закончите процесс.</p>';}
  58. else {echo '<p>Произошли сбои при отправки E-mail</p>';}
  59. break;
  60. case 'change':
  61. $pass_new = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1"));
  62. if ($pass_new['flogged_t'] < (time()-3600))
  63. {
  64. errors('Время восстановления пороля исчерпано');
  65. mysql_query("UPDATE `users` SET `flogged_n` = '', `flogged_t` = '' WHERE `id` = '$id'");
  66. header("Refresh: 1; url=/index.php");
  67. include_once'../template/foot.php';
  68. exit;
  69. }
  70. if(isset($_POST['submit'])) {
  71. $submit = $_POST['submit'];
  72. }
  73. if(isset($submit))
  74. {
  75. if (empty($pass_new['flogged_n']) || empty($pass_new['flogged_t']))
  76. {
  77. errors("Вы неправильно восстановили пороль");
  78. header("Refresh: 1; url=/index.php");
  79. include_once'../template/foot.php';
  80. exit;
  81. }
  82. if(isset($_POST['pass1'])) {
  83. $pass1 = $_POST['pass1'];
  84. }
  85. if(isset($_POST['pass2'])) {
  86. $pass2 = $_POST['pass2'];
  87. }
  88. if(empty($pass1) and empty($pass2))
  89. {
  90. errors("Вы не ввели новый пороль");
  91. include_once'../template/foot.php';
  92. exit;
  93. }
  94. if($pass1 == $pass2)
  95. {
  96. mysql_query("UPDATE `users` SET `flogged_n` = '', `password` = '" . md5(md5($pass1)) . "' WHERE `id` = '$id'");
  97. echo 'Ваш пороль был успешно сменен на <b>'.$pass1.'</b><br/><hr/>Для безопастности новый пороль вам был выслан на ваш E-mail';
  98. include_once'../template/foot.php';
  99. exit;
  100. }
  101. }
  102. echo '<form action="?act=change&id='.$id.'&code='.session_id().'" method="post">';
  103. echo 'Новый пороль:<br/> <input type="text" name="pass1"><br/>';
  104. echo 'Повторить новый пороль:<br/> <input type="text" name="pass2"><br/>';
  105. echo '<input type="submit" name="submit" value="Сменить пороль">';
  106. break;
  107. endswitch;
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115. include_once'../template/foot.php';
  116. ?>