Advertisement
Guest User

Untitled

a guest
Jul 8th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.15 KB | None | 0 0
  1. <?php
  2. $web_title = "Merge Page";
  3. require_once "header.html";
  4. ?>
  5. <div class="left-column-full">
  6. <h2>King-PK Account Claiming</h2>
  7. <?php
  8. if($pun_user['is_guest']){
  9. echo 'You must be logged in to use this page!';
  10. } else {
  11. echo '
  12. Here you can enter your previous username and password you\'ve used on King-PK to transfer
  13. over to RSCShadow\'s database.<br />If you wish to use a new username, please fill in the required field
  14. or else leave it blank.<br /><br />
  15. <form method="post">
  16. King-PK Username: <br />
  17. <input type="text" name="username" maxlength="12" /><br />
  18. New Username (Optional): <br />
  19. <input type="text" name="newusername" maxlength="10" /><br />
  20. If you would like a new username for your King-PK account, enter one here.<br />
  21. However this is completley optional and <strong>cannot be already in use in RSCShadow</strong>. <br /><br />
  22. King-PK Password: <br />
  23. <input type="password" name="password" maxlength="25" /><br />
  24. <input type="submit" name="submit" value="Claim" />
  25. </form><br />
  26. ';
  27. if(isset($_POST['submit'])){
  28. $skill_array = array('attack', 'defense', 'strength', 'hits', 'ranged', 'prayer', 'magic', 'cooking', 'woodcut', 'fletching', 'fishing', 'firemaking', 'crafting', 'smithing', 'mining', 'herblaw', 'agility', 'thieving');
  29. $player_array = array('combat', 'skill_total', 'pass', 'creation_date', 'creation_ip', 'login_date', 'login_ip');
  30. $username = isset($_POST['username']) ? $_POST['username'] : null;
  31. $password = isset($_POST['password']) ? $_POST['password'] : null;
  32. $newusername = strlen($_POST['newusername']) > 0 ? $_POST['newusername'] : $_POST['username'];
  33. if($username == null || $password == null){
  34. echo "Please fill in all required fields!";
  35. } else if(strlen($newusername) > 10 || strlen($password) > 25 || strlen($username) > 12) {
  36. echo "Your new username may only be up to 10 characters. Please write a new username in the box provided.<br /> You will keep the account, it will just be renamed.";
  37. } else if(!preg_match("/^[a-zA-Z0-9\s]+?$/i", $username)){
  38. echo "Invalid username.";
  39. } else if(!preg_match("/^[a-zA-Z0-9\s]+?$/i", $newusername)){
  40. echo "Invalid characters in new username.";
  41. } else {
  42. $user_select = $db->fetch_assoc($db->query("
  43. SELECT
  44. k.user AS 'puser', k.username, k.combat, k.pass, k.skill_total, k.creation_date, k.creation_ip, k.login_date, k.login_ip,
  45. ke.*, kc.*
  46. FROM
  47. king_players AS k JOIN king_experience AS ke ON k.user = ke.user JOIN king_curstats AS kc ON kc.user = k.user
  48. WHERE
  49. username = '" . $db->escape($username) . "' AND pass = '" . md5($password) . "'"));
  50. if(isset($user_select['puser'])){
  51. $double_user_check = $db->fetch_assoc($db->query("SELECT id FROM rscd_players WHERE username = '" . $newusername . "'"));
  52. $user_count = $db->num_rows($db->query("SELECT user FROM rscd_players WHERE owner = " . $pun_user['id']));
  53. if(isset($double_user_check)){
  54. echo "Username taken on RSCShadow. Please fill in a different 'New Username'";
  55. } else if($user_count >= 10){
  56. echo "You already have the maximum amount of characters allowed on a forum account!";
  57. } else if(strlen($newusername) > 10) {
  58. echo "New username is too long!";
  59. } else {
  60. echo "Character " . $newusername . " claimed under forum account " . $pun_user['username'] . "<br />You may now login, or <a href='charmanage.html'>manage your characters</a>";
  61. for($skill = 0; $skill < count($skill_array); $skill++){
  62. $exp_str .= "exp_" . $skill_array[$skill] . ", ";
  63. $u_exp_str .= $user_select["exp_" . $skill_array[$skill]] . "', '";
  64. $curstat_str .= "cur_" . $skill_array[$skill] . ", ";
  65. $u_curstat_str .= $user_select["cur_" . $skill_array[$skill]] . "', '";
  66. }
  67. for($player = 0; $player < count($player_array); $player++){
  68. $player_str .= $player_array[$player] . ", ";
  69. $u_player_str .= $user_select[$player_array[$player]] . "', '";
  70. }
  71. $db->query("
  72. INSERT INTO rscd_experience (user, " . substr($exp_str, 0, -2) . ")
  73. VALUES ('" . encode_username($newusername) . "', '" . substr($u_exp_str, 0, -3) . ");");
  74. $db->query("DELETE FROM king_experience WHERE user = '" . $user_select['puser'] . "'");
  75. $db->query("
  76. INSERT INTO rscd_curstats (user, " . substr($curstat_str, 0, -2) . ")
  77. VALUES ('" . encode_username($newusername) . "', '" . substr($u_curstat_str, 0, -3) . ");");
  78. $db->query("DELETE FROM king_curstats WHERE user = '" . $user_select['puser'] . "'");
  79. $db->query("
  80. INSERT INTO rscd_players (user, username, " . substr($player_str, 0, -2) . ", owner)
  81. VALUES ('" . encode_username($newusername) . "', '" . $db->escape($newusername) . "', '" . substr($u_player_str, 0, -3) . ", " . $pun_user['id'] . ");");
  82. $db->query("DELETE FROM king_players WHERE user = '" . $user_select['puser'] . "'");
  83. //Item adding - defaults
  84. $db->query("INSERT INTO rscd_invitems (user,id,amount,slot) VALUES ('" . $user_select['puser'] . "','1006','1','0'), ('" . $user_select['puser'] . "','316','1','1'), ('" . $user_select['puser'] . "','77','1','2'), ('" . $user_select['puser'] . "','1263','1','3');");
  85. if($user_select['combat'] >= 45){
  86. //Level 45's or over would get a R2H and 50k GP
  87. $db->query("INSERT INTO rscd_invitems (user,id,amount,slot) VALUES ('" . encode_username($newusername) . "','81','1','4'), ('" . encode_username($newusername) . "','10','50000','5');");
  88. }
  89. if($user_select['combat'] >= 70){
  90. //Level 70's or over would get Rune Set, a R2H and 25k GP Over Level 45's items
  91. $db->query("INSERT INTO rscd_invitems (user,id,amount,slot) VALUES ('" . encode_username($newusername) . "','81','1','6'), ('" . encode_username($newusername) . "','112','1','7'), ('" . encode_username($newusername). "','401','1','8'), ('" . encode_username($newusername) . "','402','1','9'), ('" . $user_select['puser'] . "','10','25000','10') ;");
  92. }
  93. }
  94. } else {
  95. echo "Invalid username or password";
  96. }
  97. }
  98. }
  99. }
  100. ?>
  101. </div>
  102. <?php
  103. require_once "footer.html";
  104. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement