PageRenderTime 60ms CodeModel.GetById 33ms RepoModel.GetById 0ms app.codeStats 0ms

/html/pages/admin/dpmatch.php

https://github.com/graywh/utstats
PHP | 156 lines | 143 code | 11 blank | 2 comment | 5 complexity | b6bdf3e43c2f2f5b1acdfbd0d49ebe99 MD5 | raw file
  1. <?php
  2. if (empty($import_adminkey) or isset($_REQUEST['import_adminkey']) or $import_adminkey != $adminkey) die('bla');
  3. $options['title'] = 'Delete Player from Match';
  4. $i = 0;
  5. $options['vars'][$i]['name'] = 'pid';
  6. $options['vars'][$i]['type'] = 'player';
  7. $options['vars'][$i]['prompt'] = 'Choose the player you want to delete from a match:';
  8. $options['vars'][$i]['caption'] = 'Player to delete:';
  9. $i++;
  10. $options['vars'][$i]['name'] = 'mid';
  11. $options['vars'][$i]['type'] = 'match';
  12. $options['vars'][$i]['whereplayer'] = 'pid';
  13. $options['vars'][$i]['prompt'] = 'Choose the match you want to delete the player from:';
  14. $options['vars'][$i]['caption'] = 'Match:';
  15. $i++;
  16. $results = adminselect($options);
  17. $matchid = $results['mid'];
  18. $pid = $results['pid'];
  19. echo'<br><table border="0" cellpadding="1" cellspacing="2" width="600">
  20. <tr>
  21. <td class="smheading" align="center" colspan="2">Delete Player From Match ID '.$matchid.'</td>
  22. </tr>';
  23. echo'<tr>
  24. <td class="smheading" align="left" width="200">Amending Players Rank:</td>';
  25. $q_radjust = small_query("SELECT pid, gid, rank FROM uts_player WHERE id = $pid");
  26. if (!$q_radjust)
  27. {
  28. $sql_crank = false;
  29. }
  30. else
  31. {
  32. $rank_pid = $q_radjust[pid];
  33. $rank_gid = $q_radjust[gid];
  34. $rank = $q_radjust[rank];
  35. $sql_crank = small_query("SELECT id, rank, matches FROM uts_rank WHERE pid = $rank_pid AND gid = '$rank_gid'");
  36. }
  37. if (!$sql_crank)
  38. {
  39. echo'<td class="grey" align="left" width="400">Player not in rankings</td>';
  40. }
  41. else
  42. {
  43. $rid = $sql_crank[id];
  44. $newrank = $sql_crank[rank]-$rank;
  45. $oldrank = $sql_crank[rank];
  46. $matchcount = $sql_crank[matches]-1;
  47. mysql_query("UPDATE uts_rank SET rank = $newrank, prevrank = $oldrank, matches = $matchcount WHERE id = $rid") or die(mysql_error());
  48. mysql_query("DELETE FROM uts_rank WHERE matches = 0") or die(mysql_error());
  49. echo'<td class="grey" align="left" width="400">Done</td>';
  50. }
  51. echo'</tr>
  52. <tr>
  53. <td class="smheading" align="left">Removing Kill Matrix Entries:</td>';
  54. $q_match = mysql_query("SELECT matchid, playerid FROM uts_player WHERE pid = '$pid' and matchid = '$matchid'") or die(mysql_error());
  55. while ($r_match = mysql_fetch_array($q_match))
  56. {
  57. mysql_query("DELETE FROM uts_killsmatrix WHERE matchid = '${r_match['matchid']}' AND (killer = '${r_match['playerid']}' OR victim = '${r_match['playerid']}')") or die(mysql_error());
  58. }
  59. echo'<td class="grey" align="left">Done</td>
  60. </tr>
  61. <tr>
  62. <td class="smheading" align="left" width="200">Removing Player Weapon Stats:</td>';
  63. mysql_query("DELETE FROM uts_weaponstats WHERE matchid = $matchid AND pid = $pid") or die(mysql_error());
  64. echo'<td class="grey" align="left" width="400">Done</td>
  65. </tr>
  66. <tr>
  67. <td class="smheading" align="left" width="200">Removing Player From Match:</td>';
  68. mysql_query("DELETE FROM uts_player WHERE matchid = $matchid AND pid = $pid") or die(mysql_error());
  69. echo'<td class="grey" align="left" width="400">Done</td>
  70. </tr>
  71. <tr>
  72. <td class="smheading" align="left" width="200">Amending Player Weapon Stats:</td>';
  73. // Update the player's weapon statistics (matchid 0)
  74. mysql_query(" REPLACE uts_weaponstats
  75. SELECT 0 AS matchid,
  76. pid,
  77. weapon,
  78. SUM(kills) AS kills,
  79. SUM(shots) AS shots,
  80. SUM(hits) AS hits,
  81. SUM(damage) AS damage,
  82. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  83. FROM uts_weaponstats
  84. WHERE pid = '$pid'
  85. AND weapon > 0
  86. AND matchid > 0
  87. GROUP BY weapon;"
  88. ) or die(mysql_error());
  89. // Update the player's career statistics (weapon 0, match 0)
  90. mysql_query(" REPLACE uts_weaponstats
  91. SELECT 0 AS matchid,
  92. '$pid' AS pid,
  93. 0 AS weapon,
  94. SUM(kills) AS kills,
  95. SUM(shots) AS shots,
  96. SUM(hits) AS hits,
  97. SUM(damage) AS damage,
  98. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  99. FROM uts_weaponstats
  100. WHERE matchid > 0
  101. AND pid = '$pid'
  102. AND weapon > 0;"
  103. ) 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">Amending Global Weapon Stats:</td>';
  108. mysql_query(" REPLACE uts_weaponstats
  109. SELECT 0 AS matchid,
  110. 0 AS pid,
  111. weapon,
  112. SUM(kills) AS kills,
  113. SUM(shots) AS shots,
  114. SUM(hits) AS hits,
  115. SUM(damage) AS damage,
  116. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  117. FROM uts_weaponstats
  118. WHERE matchid > 0
  119. AND pid > 0
  120. AND weapon > 0
  121. GROUP BY weapon;"
  122. ) or die(mysql_error());
  123. mysql_query(" REPLACE uts_weaponstats
  124. SELECT 0 AS matchid,
  125. 0 AS pid,
  126. 0 AS weapon,
  127. SUM(kills) AS kills,
  128. SUM(shots) AS shots,
  129. SUM(hits) AS hits,
  130. SUM(damage) AS damage,
  131. LEAST(ROUND(10000*SUM(hits)/SUM(shots))/100, 100) AS acc
  132. FROM uts_weaponstats
  133. WHERE matchid > 0
  134. AND pid > 0
  135. AND weapon > 0;"
  136. ) or die(mysql_error());
  137. echo'<td class="grey" align="left" width="400">Done</td>
  138. </tr>
  139. <tr>
  140. <td class="smheading" align="center" colspan="2">Match Deleted - <a href="./admin.php?key='.$_REQUEST[key].'">Go Back To Admin Page</a></td>
  141. </tr></table>';
  142. ?>