PageRenderTime 45ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/html/pages/admin/mplayers.php

https://github.com/graywh/utstats
PHP | 143 lines | 126 code | 13 blank | 4 comment | 3 complexity | 4492cf651a8c33588b2309275567ce04 MD5 | raw file
  1. <?php
  2. if (empty($import_adminkey) or isset($_REQUEST['import_adminkey']) or $import_adminkey != $adminkey) die('bla');
  3. $options['title'] = 'Merge Players';
  4. $i = 0;
  5. $options['vars'][$i]['name'] = 'mplayer1';
  6. $options['vars'][$i]['type'] = 'player';
  7. $options['vars'][$i]['prompt'] = 'Choose player to merge to:';
  8. $options['vars'][$i]['caption'] = 'Player to merge to:';
  9. $i++;
  10. $options['vars'][$i]['name'] = 'mplayer2';
  11. $options['vars'][$i]['type'] = 'player';
  12. $options['vars'][$i]['prompt'] = 'Choose player to merge from:';
  13. $options['vars'][$i]['caption'] = 'Player to merge from:';
  14. $options['vars'][$i]['exclude'] = 'mplayer1';
  15. $i++;
  16. $results = adminselect($options);
  17. $mplayer1 = $results['mplayer1'];
  18. $mplayer2 = $results['mplayer2'];
  19. $mp1name = small_query("SELECT name FROM uts_pinfo WHERE id = $mplayer1");
  20. $mp2name = small_query("SELECT name FROM uts_pinfo WHERE id = $mplayer2");
  21. echo'<br><table border="0" cellpadding="1" cellspacing="2" width="600">
  22. <tr>
  23. <td class="smheading" align="center" colspan="2">Merging '.$mp2name[name].' Into '.$mp1name[name].'</td>
  24. </tr>
  25. <tr>
  26. <td class="smheading" align="left" width="200">Removing Info Records</td>';
  27. mysql_query("DELETE FROM uts_pinfo WHERE id = $mplayer2") or die(mysql_error());
  28. echo'<td class="grey" align="left" width="400">Done</td>
  29. </tr>
  30. <tr>
  31. <td class="smheading" align="left" width="200">Updating Player Records</td>';
  32. mysql_query("UPDATE uts_player SET pid = $mplayer1 WHERE pid = $mplayer2") or die(mysql_error());
  33. echo'<td class="grey" align="left" width="400">Done</td>
  34. </tr>
  35. <tr>
  36. <td class="smheading" align="left" width="200">Updating Weapon Records</td>';
  37. mysql_query("UPDATE uts_weaponstats SET pid = $mplayer1 WHERE pid = $mplayer2 AND weapon > 0 and matchid > 0") or die(mysql_error());
  38. mysql_query("DELETE FROM uts_weaponstats WHERE pid = $mplayer2") or die(mysql_error());
  39. echo'<td class="grey" align="left" width="400">Done</td>
  40. </tr>
  41. <tr>
  42. <td class="smheading" align="left" width="200">Amending Player Weapon Stats:</td>';
  43. // Update the player's weapon statistics (matchid 0)
  44. mysql_query(" REPLACE uts_weaponstats
  45. SELECT 0 AS matchid,
  46. pid,
  47. weapon,
  48. SUM(kills) AS kills,
  49. SUM(shots) AS shots,
  50. SUM(hits) AS hits,
  51. SUM(damage) AS damage,
  52. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  53. FROM uts_weaponstats
  54. WHERE pid = '$mplayer1'
  55. AND weapon > 0
  56. AND matchid > 0
  57. GROUP BY weapon;"
  58. ) or die(mysql_error());
  59. // Update the player's match statistics (weapon 0)
  60. mysql_query(" REPLACE uts_weaponstats
  61. SELECT matchid,
  62. pid,
  63. 0 AS weapon,
  64. SUM(kills) AS kills,
  65. SUM(shots) AS shots,
  66. SUM(hits) AS hits,
  67. SUM(damage) AS damage,
  68. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  69. FROM uts_weaponstats
  70. WHERE matchid > 0
  71. AND pid = '$mplayer1'
  72. AND weapon > 0
  73. GROUP BY matchid;"
  74. ) or die(mysql_error());
  75. // Update the player's match entry in uts_player
  76. mysql_query(" UPDATE uts_player AS p,
  77. uts_weaponstats AS w
  78. SET p.accuracy = w.acc
  79. WHERE w.matchid = p.matchid
  80. AND p.pid = '$mplayer1'
  81. AND w.pid = p.pid
  82. AND w.weapon = 0;"
  83. ) or die(mysql_error());
  84. // Update the player's career statistics (weapon 0, match 0)
  85. mysql_query(" REPLACE uts_weaponstats
  86. SELECT 0 AS matchid,
  87. '$mplayer1' AS pid,
  88. 0 AS weapon,
  89. SUM(kills) AS kills,
  90. SUM(shots) AS shots,
  91. SUM(hits) AS hits,
  92. SUM(damage) AS damage,
  93. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  94. FROM uts_weaponstats
  95. WHERE matchid > 0
  96. AND pid = '$mplayer1'
  97. AND weapon > 0;"
  98. ) or die(mysql_error());
  99. echo'<td class="grey" align="left" width="400">Done</td>
  100. </tr>
  101. <tr>
  102. <td class="smheading" align="left" width="200">Updating First Blood Records</td>';
  103. mysql_query("UPDATE uts_match SET firstblood = $mplayer1 WHERE firstblood = $mplayer2") or die(mysql_error());
  104. echo'<td class="grey" align="left" width="400">Done</td>
  105. </tr>
  106. <tr>
  107. <td class="smheading" align="left" width="200">Temporary Rank</td>';
  108. mysql_query("UPDATE uts_rank SET pid = $mplayer2 WHERE pid= $mplayer1") or die(mysql_error());
  109. echo'<td class="grey" align="left" width="400">Done</td>
  110. </tr>
  111. <tr>
  112. <td class="smheading" align="left" width="200">Creating New Rank</td>';
  113. $sql_nrank = "SELECT SUM(time) AS time, pid, gid, AVG(rank) AS rank, AVG(prevrank) AS prevrank, SUM(matches) AS matches FROM uts_rank WHERE pid = $mplayer2 GROUP BY pid, gid";
  114. $q_nrank = mysql_query($sql_nrank) or die(mysql_error());
  115. while ($r_nrank = mysql_fetch_array($q_nrank))
  116. {
  117. mysql_query("INSERT INTO uts_rank SET time = '$r_nrank[time]', pid = $mplayer1, gid = $r_nrank[gid], rank = '$r_nrank[rank]', prevrank = '$r_nrank[prevrank]', matches = $r_nrank[matches]") or die(mysql_error());
  118. }
  119. echo'<td class="grey" align="left" width="400">Done</td>
  120. </tr>
  121. <tr>
  122. <td class="smheading" align="left" width="200">Removing Old Rank</td>';
  123. mysql_query("DELETE FROM uts_rank WHERE pid = $mplayer2") or die(mysql_error());
  124. echo'<td class="grey" align="left" width="400">Done</td>
  125. </tr>
  126. <tr>
  127. <td class="smheading" align="center" colspan="2">Player Record Merged - <a href="./admin.php?key='.$_REQUEST[key].'">Go Back To Admin Page</a></td>
  128. </tr>
  129. </table>';
  130. ?>