Просмотр файла modules/user/security.php

Размер файла: 3.21Kb
  1. <?
  2. /**********************************
  3. * @package: PerfCMS *
  4. * @year: 2012 *
  5. * @author: Artas *
  6. * @link: http://perfcms.pp.ua *
  7. **********************************/
  8. $locate = 'in_cabinet';
  9. if(isset($user)) {
  10. if(isset($_POST['save_email']) && $_GET['act']== 'change_mail') {
  11. $email = input($_POST['nemail']);
  12. if (!empty($email) && (mb_strlen($email, 'UTF-8') < 3 || mb_strlen($email, 'UTF-8') > 72)) $err .= $lang->word('b_mail').'<br />';
  13. if (!empty($email) && !preg_match('|^([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})$|ius', $email)) $err .= $lang->word('e_email').'<br />';
  14. if(crypto($_POST['pass']) == $user['password'] && $_POST['cemail'] == $user['email']) {
  15. if($db->query("SELECT * FROM `users` WHERE `email` = '$email'")->rowCount() == 0) {
  16. $db->query("UPDATE `users` SET `email` = '". $email."' WHERE `id` = '". $user['id']."' ");
  17. // print_r($db->errorInfo());
  18. go('/user/security/?act=edited');
  19. }
  20. } else { $err .= $lang->word('ex_mail').'<br/>'; }
  21. }
  22.  
  23. if(isset($_POST['save_pass']) && $_GET['act']== 'change_pass') {
  24. $pass1 = $_POST['npass'];
  25. $pass = $_POST['pass'];
  26. if (!empty($pass1) && (mb_strlen($pass1, 'UTF-8') < 5 || mb_strlen($pass1, 'UTF-8') > 64)) $err .= $lang->word('e_pass').'<br />';
  27. if (!empty($pass1) && !empty($pass) && $pass1 != $pass) $err .= $lang->word('e_pass2').'<br />';
  28. if(crypto($_POST['cpass']) == $user['password']) {
  29. $db->query("UPDATE `users` SET `password` = '". crypto($pass)."' WHERE `id` = '". $user['id']."' ");
  30. // print_r($db->errorInfo());
  31. go('/user/security/?act=edited');
  32. } else { $err .= $lang->word('ex_mail').'<br/>'; }
  33. }
  34.  
  35. $title = $lang->word('security');
  36. require_once(SYS.'/view/header.php');
  37. if($_GET['act']=='edited') {$tpl->div('block', $lang->word('succ_save'));}
  38. $tpl->div('title', $lang->word('security'));
  39. if(isset($err)) $tpl->div('error', $err);
  40. $tpl->div('menu', $lang->word('security_t'));
  41. $tpl->div('title', $lang->word('change_mail'));
  42. echo '<form action="?act=change_mail" method="post">
  43. <div class="post">
  44. <b>'. $lang->word('current') .' E-Mail</b>:<br/>
  45. <input type="text" name="cemail" value="'. $user['email'] .'" /><br/>
  46. <b>'. $lang->word('new_e') .' E-Mail:</b><br/>
  47. <input type="text" name="nemail"/><br/>
  48. <b>'. $lang->word('current') .' '. $lang->word('password') .'</b>:<br/>
  49. <input type="password" name="pass"/><br/>
  50. <input type="submit" name="save_email" value="'. $lang->word('save') .'" /><br/>
  51. </div>
  52. </form>';
  53. $tpl->div('title', $lang->word('change_pass'));
  54. echo '<form action="?act=change_pass" method="post">
  55. <div class="post">
  56. <b>'. $lang->word('current') .' '. $lang->word('password') .'</b>:<br/>
  57. <input type="text" name="cpass" /><br/>
  58. <b>'. $lang->word('new_e') .' '. $lang->word('password') .'</b><br/>
  59. <input type="text" name="npass"/><br/>
  60. <b>'. $lang->word('confirm') .' '. $lang->word('password') .'</b>:<br/>
  61. <input type="text" name="pass"/><br/>
  62. <input type="submit" name="save_pass" value="'. $lang->word('save') .'" /><br/>
  63. </div>
  64. </form>';
  65. $tpl->div('block', NAV.'<a href="/user/panel/">'.$lang->word('user_panel').'</a><br/>'. HICO .'<a href="/">'. $lang->word('home') .'</a>');
  66. require_once(SYS.'/view/footer.php');
  67. } else { go('/'); }
  68. ?>