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

Размер файла: 5.44Kb
  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. registrat();
  16. function dpass_errors($err_pass = false, $link = '') {
  17. if ($err_pass) {$out = '';if (is_array($err_pass)) {foreach ($err_pass as $val)$out .= '<div>' . $val . '</div>';}
  18. else {$out .= '<br />' . $err_pass;}$out .= '</p><p>' . $link . '</p></div>';return $out;}
  19. else {return false;}}
  20. if (!$user_id) {
  21. dpass_errors('Только для зарегистрированных посетителей');
  22. include_once'../template/foot.php';
  23. exit;
  24. }if ($id && $id != $user_id) {
  25. $mysql_p = mysql_query("SELECT * FROM `users` WHERE `id` = '$id' LIMIT 1");
  26. if (mysql_num_rows($mysql_p)) {
  27. $user = mysql_fetch_assoc($mysql_p);}
  28. else {echo 'Пользователя несуществует';
  29. exit();}}else {$id = false;$user = $datauser;}
  30. echo '<hr/>';
  31. $te = mysql_fetch_array(mysql_query("SELECT * FROM pass_secure WHERE user_id='$user_id' ORDER BY id DESC"));
  32. if($te['user_id'] == $user_id)
  33. {echo 'Последний раз пороль был изменен ('.date('d.m.y',$te['time']) .' в '. date('H:s:i',$te['time']) .')';}
  34. else{echo 'Вы не меняли еще пороль.';}
  35. echo '<hr/>';
  36. switch ($secure_pass) {case 'ok_pass' :
  37. $err_pass = array();
  38. $pass_st = isset ($_POST['pass_st']) ? trim($_POST['pass_st']) : '';
  39. $password_new = isset ($_POST['password_new']) ? trim($_POST['password_new']) : '';$password_new2 = isset ($_POST['password_new2']) ? trim($_POST['password_new2']) : '';
  40. if ($sys_b >= 7) {if (!$password_new || !$password_new2){echo 'Обязательно заполните все поля';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
  41. include_once'../template/foot.php';
  42. exit();}}
  43. else {if (!$pass_st || !$password_new || !$password_new2){echo 'Обязательно заполните все поля';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
  44. include_once'../template/foot.php';
  45. exit();
  46. }}if (!$err_pass && md5(md5($pass_st)) !== $user['password']){echo 'Вы неправильно ввели старый пороль';header('Refresh: 1; url=pass.php?' . $conservation . '&' );exit();}
  47. if ($password_new != $password_new2){echo 'Новые пароли не совпадают';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
  48. exit();}if (preg_match("/[^\da-zA-Z_]+/", $password_new) && !$err_pass){echo 'В новом пороле имеются недопустимые символы';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
  49. include_once'../template/foot.php';
  50. exit();}
  51. if (!$err_pass && (strlen($password_new) < 2 or strlen($password_new) > 20))
  52. {echo 'Длина пароля должна быть не больше 20символов';header('Refresh: 1; url=pass.php?' . $conservation . '&' );
  53. include_once'../template/foot.php';
  54. exit();}
  55. if (!$err_pass) {
  56. mysql_query("UPDATE users SET password = '".mysql_real_escape_string(md5(md5($password_new)))."' WHERE id = '".$user['id']."'LIMIT 1");
  57. mysql_query("INSERT INTO pass_secure (time,user_id) VALUES('".time()."','$user_id')");
  58. if (isset ($_COOKIE['cuid']) && isset ($_COOKIE['cups']))
  59. setcookie('cups', md5($password_new), time() + 3600 * 24 * 365);
  60. echo '<div class="actshcms">Ваш старый пороль успешно изменен на новый ('.$password_new.') для безопастности он был выслан вам на e-mail '.$user['email'].' и на внутреннюю почту</div><br />';
  61. $adress = "$user[email]";
  62. $tex = 'Смена пороля';
  63. $contr = 'Вы успешно сменили пороль вашего логина('.$user['login'].') на сайте '.$_SERVER['HTTP_HOST'].'. Вот ваш новый пороль ('.$password_new.')';
  64. $conte = "From: <'secure@".$_SERVER['HTTP_HOST']."'>\r\n";
  65. $conte .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
  66. mail($adress,$tex,$contr,$conte);
  67. $text = 'Вы успешно сменили пороль вашего логина( '.$user['login'].' ) <br/>на сайте '.$_SERVER['HTTP_HOST'].'. <br/>Вот ваш новый пороль ('.$password_new.')<br /><hr/>Отправлено:' . date("d.m.y", $time_date) .' в ' . date("H.i.s", $time_date);
  68. mysql_query("INSERT INTO `mail` SET`user` = '$user[login]',`text` = '$text',`author` = 'Системный робот',`time` = '$time_date',`type` = 'in',`chit` = 'no'");
  69. header('Refresh: 1; url=pass.php?' . $conservation . '&' );}
  70. else {echo dpass_errors($err_pass);header('Refresh: 1; url=pass.php?' . $conservation . '&' );}break;default :
  71. echo '<form action="?secure_pass=ok_pass" method="post">';echo 'Старый пороль:<br /><input type="password" name="pass_st" /><br/>';
  72. echo 'Новый пороль:<br /><input type="password" name="password_new" /><br />';
  73. echo 'Подтверждение:<br /><input type="password" name="password_new2" /><br/>';
  74. echo '<input type="submit" name="submit" value="Сменить"/>';
  75. echo '</form>';
  76. }
  77. include_once'../template/foot.php';
  78. ?>