Unsupported PHP app for analysing and displaying stats for Team Fortress 2
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

index.php 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?PHP
  2. require_once('inc/config.php');
  3. require_once('inc/mostmaps.php');
  4. require_once('inc/playertable.php');
  5. require_once('inc/weaponslist.php');
  6. require_once(STATS_DIR . '/inc/database.php');
  7. define('TITLE', 'Overview');
  8. require_once('inc/header.php');
  9. echo '<h2>Overview</h2>';
  10. echo '<div class="left">', "\n";
  11. /** -- Output most played maps -- **/
  12. echo '<h3>Most played maps</h3>', "\n";
  13. showMostMaps();
  14. /** -- Output overall statistics -- **/
  15. echo '<h3 class="extra">Overall statistics</h3>', "\n";
  16. echo '<ul class="stats">', "\n";
  17. $sql = 'SELECT COUNT(*) FROM players';
  18. $res = mysql_query($sql);
  19. $pcount = mysql_result($res, 0);
  20. $sql = 'SELECT COUNT(*) FROM kills';
  21. $res = mysql_query($sql);
  22. $kcount = mysql_result($res, 0);
  23. $sql = 'SELECT HOUR(kill_timestamp) AS thehour, COUNT(*) AS num FROM kills GROUP BY thehour ORDER BY num DESC LIMIT 0,1';
  24. $res = mysql_query($sql);
  25. $tophour = mysql_result($res, 0);
  26. $sql = "SELECT class_displayname, SUM(roleperiod_endtime - roleperiod_starttime) AS time FROM classes NATURAL JOIN roleperiods WHERE roleperiod_endtime > '0000-00-00' GROUP BY class_name ORDER BY time DESC LIMIT 0,1";
  27. $res = mysql_query($sql);
  28. $topclass = mysql_result($res, 0);
  29. $sql = "SELECT SUM(session_endtime - session_starttime) FROM sessions WHERE session_endtime > '0000-00-00'";
  30. $res = mysql_query($sql);
  31. $time = mysql_result($res, 0);
  32. echo '<li><em>', number_format($pcount), '</em> players tracked.</li>', "\n";
  33. echo '<li><em>', number_format($kcount), '</em> kills logged.</li>', "\n";
  34. echo '<li>Most popular time of day: <em>', $tophour, '-', (++$tophour % 24), ':00</em>.</li>', "\n";
  35. echo '<li>Most played class: <em>', $topclass, '</em>.</li>', "\n";
  36. echo '<li><em>', number_format(round($time/(60*60),0)), '</em> hours of play time.</li>', "\n";
  37. echo '</ul>', "\n";
  38. /** -- Output top weapons -- **/
  39. echo '<h3>Top weapons</h3>', "\n";
  40. showWeaponsList();
  41. echo '</div>', "\n";
  42. echo '<div class="right">', "\n";
  43. /** -- Output server list -- **/
  44. if (ENABLE_SERVER_LIST) {
  45. echo '<h3>Participating servers</h3>';
  46. echo '<table><tr><th>Server name</th><th>Address</th><th>Connect</th></tr>';
  47. $sql = 'SELECT server_name, server_ip, server_port FROM servers ORDER BY server_name';
  48. $res = mysql_query($sql);
  49. $i = 0;
  50. while ($row = mysql_fetch_assoc($res)) {
  51. $i++;
  52. echo '<tr class="', ($i & 1) ? '' : 'even', '"><td>', htmlentities($row['server_name'], ENT_COMPAT, 'UTF-8'), '</td>';
  53. echo '<td>', $row['server_ip'], ':', $row['server_port'], '</td>';
  54. echo '<td class="connect"><a href="steam://connect/', $row['server_ip'], ':', $row['server_port'], '">';
  55. echo '<img src="res/steam.png" alt="Steam" title="Connect with Steam">using steam</a>';
  56. echo '<a href="hlsw://', $row['server_ip'], ':', $row['server_port'], '">';
  57. echo '<img src="res/hlsw.png" alt="HLSW" title="Connect with HLSW">using hlsw</a>';
  58. echo '</td></tr>';
  59. }
  60. echo '</table>';
  61. }
  62. /** -- Output top players -- **/
  63. echo '<h3>Top players</h3>', "\n";
  64. showPlayerTable('', '1=1', OVERVIEW_PLAYERS);
  65. echo '</div>', "\n";
  66. require_once('inc/footer.php');
  67. ?>