PageRenderTime 47ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/legacy/includes/pages/myoptions/username.php

http://novaboard.googlecode.com/
PHP | 111 lines | 61 code | 38 blank | 12 comment | 8 complexity | 56e8ae6681550a22ef7a469d34124636 MD5 | raw file
Possible License(s): AGPL-3.0
  1. <?php
  2. /*
  3. +--------------------------------------------------------------------------
  4. | NovaBoard
  5. | ========================================
  6. | By Dave Murchison
  7. | (c) 2009 NovaBoard
  8. | http://www.novaboard.net
  9. | ========================================
  10. | username.php - change member username
  11. */
  12. if (!defined('NOVA_RUN')){
  13. echo "<h1>ACCESS DENIED</h1>You cannot access this file directly.";
  14. exit();
  15. }
  16. template_hook("pages/myoptions/username.template.php", "start");
  17. if ($can_change_own_name=='0'){
  18. nova_redirect("index.php?page=error&error=21","error/21");
  19. }
  20. elseif ($_POST['username']!=''){
  21. $token_id = $_POST['token_id'];
  22. $token_id = escape_string($token_id);
  23. $token_name = "token_username_$token_id";
  24. if (isset($_POST[$token_name]) && isset($_SESSION[$token_name]) && $_SESSION[$token_name] == $_POST[$token_name]){
  25. $username=$_POST['username'];
  26. $username=escape_string($username);
  27. $query2 = "select NAME from {$db_prefix}members WHERE NAME='$username'" ;
  28. $result2 = mysql_query($query2) or die("username.php - Error in query: $query2") ;
  29. $count_names = mysql_num_rows($result2);
  30. if ($count_names!='0'){
  31. nova_redirect("index.php?page=error&error=37","error/37");
  32. }
  33. $original_name=$_POST['original_name'];
  34. $original_name=escape_string($original_name);
  35. $email=$_POST['email'];
  36. $email=escape_string($email);
  37. // first, check username isn't taken, if it is, redirect to error page...
  38. mysql_query("UPDATE {$db_prefix}members SET name='$username' WHERE id='$my_id'");
  39. $lang['email_members_name_title'] = str_replace("<%sitename>", $site_name, $lang['email_members_name_title']);
  40. $lang['email_members_name_content'] = str_replace("<%oldname>", $original_name, $lang['email_members_name_content']);
  41. $lang['email_members_name_content'] = str_replace("<%subscriber>", $username, $lang['email_members_name_content']);
  42. $lang['email_members_name_content'] = str_replace("<%sitename>", $site_name, $lang['email_members_name_content']);
  43. $lang['email_members_name_content'] = str_replace("<%site>", $nova_domain, $lang['email_members_name_content']);
  44. $message=$lang['email_members_name_content'];
  45. $outgoing="$email";
  46. $from="From: $site_name <$board_email>\r\n";
  47. $subject=$lang['email_members_name_title'];
  48. mail($outgoing, $subject, $message, $from);
  49. template_hook("pages/myoptions/username.template.php", "form");
  50. nova_redirect("index.php?page=login","login");
  51. }
  52. else{
  53. nova_redirect("index.php?page=error&error=28","error/28");
  54. }
  55. }
  56. else{
  57. $token_id = md5(microtime());
  58. $token = md5(uniqid(rand(),true));
  59. $token_name = "token_username_$token_id";
  60. $_SESSION[$token_name] = $token;
  61. $query2 = "select ID, NAME, EMAIL from {$db_prefix}members WHERE ID='$my_id'" ;
  62. $result2 = mysql_query($query2) or die("username.php - Error in query: $query2") ;
  63. while ($results2 = mysql_fetch_array($result2)){
  64. $id = $results2['ID'];
  65. $name = $results2['NAME'];
  66. $email = $results2['EMAIL'];
  67. $email=strip_slashes($email);
  68. template_hook("pages/myoptions/username.template.php", "2");
  69. }
  70. }
  71. template_hook("pages/myoptions/username.template.php", "end");
  72. ?>