PageRenderTime 44ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/html/pages/maps.php

https://github.com/graywh/utstats
PHP | 98 lines | 75 code | 21 blank | 2 comment | 17 complexity | 701d7a45b5b6e041b36f9ea2310f7af3 MD5 | raw file
  1. <?php
  2. function InvertSort($curr_field, $filter, $sort) {
  3. if ($curr_field != $filter) return(($curr_field == "mapfile") ? "ASC" : "DESC");
  4. if ($sort == 'ASC') return('DESC');
  5. return('ASC');
  6. }
  7. function SortPic($curr_field, $filter, $sort) {
  8. if ($curr_field != $filter) return;
  9. $fname = 'images/s_'. strtolower($sort) .'.png';
  10. if (!file_exists($fname)) return;
  11. return('&nbsp;<img src="'. $fname .'" border="0" width="11" height="9" alt="" title="('.strtolower($sort).'ending)">');
  12. }
  13. // Get filter and set sorting
  14. $filter = my_addslashes($_GET[filter]);
  15. $sort = my_addslashes($_GET[sort]);
  16. IF (empty($filter)) {
  17. $filter = "mapfile";
  18. }
  19. if (empty($sort) or ($sort != 'ASC' and $sort != 'DESC')) $sort = ($filter == "mapfile") ? "ASC" : "DESC";
  20. // Firstly we need to work out First Last Next Prev pages
  21. $mcount = small_count("SELECT mapfile FROM uts_match GROUP BY mapfile");
  22. $ecount = $mcount/25;
  23. $ecount2 = number_format($ecount, 0, '.', '');
  24. IF($ecount > $ecount2) {
  25. $ecount2 = $ecount2+1;
  26. }
  27. $fpage = 0;
  28. IF($ecount < 1) { $lpage = 0; }
  29. else { $lpage = $ecount2-1; }
  30. $cpage = $_GET["page"];
  31. IF ($cpage == "") { $cpage = "0"; }
  32. $qpage = $cpage*25;
  33. $tfpage = $cpage+1;
  34. $tlpage = $lpage+1;
  35. $ppage = $cpage-1;
  36. $ppageurl = "<a class=\"pages\" href=\"./?p=maps&amp;filter=$filter&amp;sort=$sort&amp;page=$ppage\">[Previous]</a>";
  37. IF ($ppage < "0") { $ppageurl = "[Previous]"; }
  38. $npage = $cpage+1;
  39. $npageurl = "<a class=\"pages\" href=\"./?p=maps&amp;filter=$filter&amp;sort=$sort&amp;page=$npage\">[Next]</a>";
  40. IF ($npage >= "$ecount") { $npageurl = "[Next]"; }
  41. $fpageurl = "<a class=\"pages\" href=\"./?p=maps&amp;filter=$filter&amp;sort=$sort&amp;page=$fpage\">[First]</a>";
  42. IF ($cpage == "0") { $fpageurl = "[First]"; }
  43. $lpageurl = "<a class=\"pages\" href=\"./?p=maps&amp;filter=$filter&amp;sort=$sort&amp;page=$lpage\">[Last]</a>";
  44. IF ($cpage == "$lpage") { $lpageurl = "[Last]"; }
  45. echo'
  46. <div class="pages"><b>Page ['.$tfpage.'/'.$tlpage.'] Selection: '.$fpageurl.' / '.$ppageurl.' / '.$npageurl.' / '.$lpageurl.'</b></div>
  47. <table class="box" border="0" cellpadding="1" cellspacing="1">
  48. <tbody><tr>
  49. <td class="heading" colspan="5" align="center">Unreal Tournament Maps List</td>
  50. </tr>
  51. <tr>
  52. <td class="smheading" align="center" width="250"><a class="smheading" href="./?p=maps&amp;filter=mapfile&amp;sort='.InvertSort('mapfile', $filter, $sort).'">Map Name</a>'.SortPic('mapfile', $filter, $sort).'</td>
  53. <td class="smheading" align="center" width="150"><a class="smheading" href="./?p=maps&amp;filter=matchcount&amp;sort='.InvertSort('matchcount', $filter, $sort).'">Matches</a>'.SortPic('matchcount', $filter, $sort).'</td>
  54. <td class="smheading" align="center"><a class="smheading" href="./?p=maps&amp;filter=frags&amp;sort='.InvertSort('frags', $filter, $sort).'">Avg. Frags</a>'.SortPic('frags', $filter, $sort).'</td>
  55. <td class="smheading" align="center" width="100"><a class="smheading" href="./?p=maps&amp;filter=matchscore&amp;sort='.InvertSort('matchscore', $filter, $sort).'">Avg. Score</a>'.SortPic('matchscore', $filter, $sort).'</td>
  56. <td class="smheading" align="center" width="100"><a class="smheading" href="./?p=maps&amp;filter=gametime&amp;sort='.InvertSort('gametime', $filter, $sort).'">Time</a>'.SortPic('gametime', $filter, $sort).'</td>
  57. </tr>';
  58. $sql_maps = "SELECT IF(RIGHT(mapfile,4) LIKE '.unr', mapfile, CONCAT(mapfile, '.unr')) as mapfile, COUNT(id) AS matchcount, AVG(frags) AS frags, AVG(t0score+t1score+t2score+t3score) AS matchscore, SUM(gametime) AS gametime
  59. FROM uts_match GROUP BY mapfile ORDER BY $filter $sort LIMIT $qpage,25";
  60. $q_maps = mysql_query($sql_maps) or die(mysql_error());
  61. while ($r_maps = mysql_fetch_array($q_maps)) {
  62. $r_mapfile = un_ut($r_maps[mapfile]);
  63. $myurl = urlencode($r_mapfile);
  64. $r_gametime = GetMinutes($r_maps[gametime]);
  65. echo'
  66. <tr>
  67. <td class="dark" align="center"><a class="darkhuman" href="./?p=minfo&amp;map='.$myurl.'">'.$r_mapfile.'</a></td>
  68. <td class="grey" align="center">'.$r_maps[matchcount].'</td>
  69. <td class="grey" align="center">'.get_dp($r_maps[frags]).'</td>
  70. <td class="grey" align="center">'.get_dp($r_maps[matchscore]).'</td>
  71. <td class="grey" align="center">'.$r_gametime.'</td>
  72. </tr>';
  73. }
  74. echo'
  75. </tbody></table>
  76. <div class="pages"><b>Page ['.$tfpage.'/'.$tlpage.'] Selection: '.$fpageurl.' / '.$ppageurl.' / '.$npageurl.' / '.$lpageurl.'</b></div>';
  77. ?>