PageRenderTime 39ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/html/pages/match_info_killsmatrix.php

https://github.com/graywh/utstats
PHP | 131 lines | 108 code | 14 blank | 9 comment | 15 complexity | 9631e71493757655225d90a7f1734dff MD5 | raw file
  1. <?php
  2. function PrintVertical($text) {
  3. $len = strlen($text);
  4. $ret = '';
  5. for ($i = 0; $i < $len; $i++) {
  6. $ret .= substr($text, $i, 1) .'<br>';
  7. }
  8. return($ret);
  9. }
  10. // Retrieve the killmatrix
  11. $sql_km = " SELECT killer,
  12. victim,
  13. kills
  14. FROM uts_killsmatrix
  15. WHERE matchid = $mid;";
  16. $q_km = mysql_query($sql_km) or die(mysql_error());
  17. while ($r_km = mysql_fetch_array($q_km)) {
  18. $km[intval($r_km['killer'])][intval($r_km['victim'])] = $r_km['kills'];
  19. }
  20. // No matrix: bye
  21. if (!isset($km)) return;
  22. // Are we processing a teamgame?
  23. $qm_teamgame = small_query("SELECT teamgame FROM uts_match WHERE id = '$mid';");
  24. $teamgame = $qm_teamgame['teamgame'];
  25. $teamgame = ($teamgame == 'False') ? false : true;
  26. // Get the players of this match
  27. $sql_players = " SELECT p.pid,
  28. p.playerid,
  29. pi.name,
  30. pi.country,
  31. pi.banned,
  32. p.team,
  33. p.suicides
  34. FROM uts_player p,
  35. uts_pinfo pi
  36. WHERE (p.pid = pi.id)
  37. AND matchid = '$mid'
  38. ORDER BY team ASC,
  39. gamescore DESC;";
  40. $q_players = mysql_query($sql_players) or die(mysql_error());
  41. while ($r_players = mysql_fetch_array($q_players)) {
  42. $players[intval($r_players['playerid'])] = array( 'pid' => $r_players['pid'],
  43. 'name' => $r_players['name'],
  44. 'country' => $r_players['country'],
  45. 'banned' => $r_players['banned'],
  46. 'suicides' => intval($r_players['suicides']),
  47. 'team' => intval($r_players['team']));
  48. }
  49. // Table header
  50. $extra = $teamgame ? 3 : 2;
  51. echo '<table border="0" cellpadding="1" cellspacing="2">
  52. <tbody><tr>
  53. <td class="heading" colspan="'. (count($players) + $extra) .'" align="center">Kills Match Up</td>
  54. </tr>
  55. <tr>
  56. <td class="dark" colspan="'.$extra.'" rowspan="'.$extra.'" align="center">&nbsp;</td>
  57. <td class="dark" colspan="'. count($players).'" align="center"><strong>Victim</strong></td>
  58. </tr>
  59. <tr>';
  60. // Victims
  61. foreach($players as $player) {
  62. echo '<td class="darkhuman" align="center" onmouseover="overlib(\''.
  63. str_replace('"', '\\\'', QuoteHintText(FormatPlayerName($player['country'], $player['pid'], $player['name'], $gid, $gamename))) .'\');" onmouseout="nd();">
  64. <a class="darkhuman" href="?p=matchp&amp;mid='. $mid .'&amp;pid='. urlencode($player['pid']). '">'.
  65. PrintVertical($player['name']) .
  66. '</a></td>';
  67. }
  68. echo '</tr><tr>';
  69. // Team colors victims
  70. if ($teamgame) {
  71. foreach($players as $player) {
  72. switch($player['team']) {
  73. case 0: $teamcolor = 'redteam'; break;
  74. case 1: $teamcolor = 'blueteam'; break;
  75. case 2: $teamcolor = 'greenteam'; break;
  76. case 3: $teamcolor = 'goldteam'; break;
  77. }
  78. echo '<td class="'. $teamcolor .'" align="center" width="20">
  79. &nbsp;</td>';
  80. }
  81. echo '</tr>';
  82. }
  83. // Killer rows
  84. $first = true;
  85. $i = 0;
  86. foreach($players as $kid => $killer) {
  87. if ($killer['banned'] == 'Y') continue;
  88. $i++;
  89. echo '<tr>';
  90. if ($first) echo'<td class="dark" rowspan="'. count($players) .'" align="center" width="20"><strong>K<br>i<br>l<br>l<br>e<br>r</strong></td>';
  91. echo '<td nowrap class="darkhuman" align="left" style="width: 150px;">';
  92. echo '<a class="darkhuman" href="?p=matchp&amp;mid='. $mid .'&amp;pid='. urlencode($killer['pid']). '">'.
  93. FormatPlayerName($killer['country'], $killer['pid'], $killer['name'], $gid, $gamename) .'&nbsp;</a></td>';
  94. if ($teamgame) {
  95. switch($killer['team']) {
  96. case 0: $teamcolor = 'redteam'; break;
  97. case 1: $teamcolor = 'blueteam'; break;
  98. case 2: $teamcolor = 'greenteam'; break;
  99. case 3: $teamcolor = 'goldteam'; break;
  100. }
  101. echo '<td class="'. $teamcolor .'" align="center" width="20">&nbsp;</td>';
  102. }
  103. foreach($players as $vid => $victim) {
  104. $class = ($kid == $vid) ? 'darkgrey' : 'grey';
  105. //if ($i % 2) $class .= '2';
  106. echo '<td class="'. $class .'" align="center" width="20">';
  107. if ($kid == $vid) {
  108. $val = ($killer['suicides'] != 0) ? $killer['suicides'] : '&nbsp;';
  109. } else {
  110. $val = (isset($km[$kid][$vid])) ? $km[$kid][$vid] : '&nbsp';
  111. }
  112. echo $val .'</td>';
  113. }
  114. $first = false;
  115. }
  116. echo '</tbody></table><br>';
  117. ?>