-<%inherit file="base.mako"/>\r
-\r
-<%block name="title">\r
-Leaderboard\r
-</%block>\r
-\r
-<div class="row">\r
- <div class="span4">\r
- ##### DUEL RANKS #####\r
- <h3>Duel Ranks</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th>#</th>\r
- <th>Nick</th>\r
- <th>Elo</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- <% i = 1 %>\r
- % for (player_id, nick, elo) in duel_ranks:\r
- <tr>\r
- <td>${i}</td>\r
- % if player_id != '-':\r
- <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick}</a></td>\r
- % else:\r
- <td>${nick}</td>\r
- % endif\r
- % if elo != '-':\r
- <td>${round(elo, 3)}</td>\r
- % else:\r
- <td>${elo}</td>\r
- % endif\r
- </tr>\r
- <% i = i+1 %>\r
- % endfor\r
- </tbody>\r
- </table>\r
- <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='duel')}" title="See more duel rankings">More...</a></p>\r
- </div> <!-- /span4 -->\r
-\r
- <div class="span4">\r
- ##### CTF RANKS #####\r
- <h3>CTF Ranks</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th>#</th>\r
- <th>Nick</th>\r
- <th>Elo</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- <% i = 1 %>\r
- % for (player_id, nick, elo) in ctf_ranks:\r
- <tr>\r
- <td>${i}</td>\r
- % if player_id != '-':\r
- <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick}</a></td>\r
- % else:\r
- <td>${nick}</td>\r
- % endif\r
- % if elo != '-':\r
- <td>${round(elo, 3)}</td>\r
- % else:\r
- <td>${elo}</td>\r
- % endif\r
- </tr>\r
- <% i = i+1 %>\r
- % endfor\r
- </tbody>\r
- </table>\r
- <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='ctf')}" title="See more CTF rankings">More...</a></p>\r
- </div> <!-- /span4 -->\r
-\r
- <div class="span4">\r
- ##### DM RANKS #####\r
- <h3>DM Ranks</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th>#</th>\r
- <th>Nick</th>\r
- <th>Elo</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- <% i = 1 %>\r
- % for (player_id, nick, elo) in dm_ranks:\r
- <tr>\r
- <td>${i}</td>\r
- % if player_id != '-':\r
- <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick}</a></td>\r
- % else:\r
- <td>${nick}</td>\r
- % endif\r
- % if elo != '-':\r
- <td>${round(elo, 3)}</td>\r
- % else:\r
- <td>${elo}</td>\r
- % endif\r
- </tr>\r
- <% i = i+1 %>\r
- % endfor\r
- </tbody>\r
- </table>\r
- <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd='dm')}" title="See more deathmatch rankings">More...</a></p>\r
- </div> <!-- /span4 -->\r
-</div> <!-- /row -->\r
-\r
-<div class="row">\r
- <div class="span4">\r
- <h3>Most Active Players</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th>#</th>\r
- <th>Nick</th>\r
- <th class="play-time">Play Time</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- <% i = 1 %>\r
- % for (player_id, nick, alivetime) in top_players:\r
- <tr>\r
- <td>${i}</td>\r
- % if player_id != '-':\r
- <td><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>\r
- % else:\r
- <td>${nick}</td>\r
- % endif\r
- <td class="play-time">${alivetime}</td>\r
- </tr>\r
- <% i = i+1 %>\r
- % endfor\r
- </tbody>\r
- </table>\r
- <p class="note">*Most active stats are from the past 7 days</p>\r
- </div> <!-- /span4 -->\r
-\r
- <div class="span4">\r
- <h3>Most Active Servers</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th>#</th>\r
- <th>Server</th>\r
- <th>Games</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- <% i = 1 %>\r
- % for (server_id, name, count) in top_servers:\r
- <tr>\r
- <td>${i}</td>\r
- % if server_id != '-':\r
- <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for ${name}">${name}</a></td>\r
- % else:\r
- <td>${name}</td>\r
- % endif\r
- <td>${count}</td>\r
- </tr>\r
- <% i = i+1 %>\r
- % endfor\r
- </tbody>\r
- </table>\r
- </div> <!-- /span4 -->\r
-\r
- <div class="span4">\r
- <h3>Most Active Maps</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th>#</th>\r
- <th>Map</th>\r
- <th>Games</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- <% i = 1 %>\r
- % for (map_id, name, count) in top_maps:\r
- <tr>\r
- <td>${i}</td>\r
- % if map_id != '-':\r
- <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>\r
- % else:\r
- <td>${name}</td>\r
- % endif\r
- <td>${count}</td>\r
- </tr>\r
- <% i = i+1 %>\r
- % endfor\r
- </tbody>\r
- </table>\r
- </div> <!-- /span4 -->\r
-</div> <!-- /row -->\r
-\r
-<div class="row">\r
- <div class="span12">\r
- <h3>Recent Games</h3>\r
- <table class="table table-bordered table-condensed">\r
- <thead>\r
- <tr>\r
- <th></th>\r
- <th>Type</th>\r
- <th>Server</th>\r
- <th>Map</th>\r
- <th>Time</th>\r
- <th>Winner</th>\r
- </tr>\r
- </thead>\r
- <tbody>\r
- % for (game, server, map, pgstat) in recent_games:\r
- % if game != '-':\r
- <tr>\r
- <td><a class="btn btn-primary btn-small" href="${request.route_url('game_info', id=game.game_id)}" title="View detailed information about this game">view</a></td>\r
- <td class="gt_icon"><img title="${game.game_type_cd}" src="/static/images/icons/24x24/${game.game_type_cd}.png" alt="${game.game_type_cd}" /></td>\r
- <td><a href="${request.route_url('server_info', id=server.server_id)}" title="Go to the detail page for this server">${server.name}</a></td>\r
- <td><a href="${request.route_url('map_info', id=map.map_id)}" title="Go to the map detail page for this map">${map.name}</a></td>\r
- <td>${game.start_dt.strftime('%m/%d/%Y %H:%M')}</td>\r
- <td>\r
- % if pgstat.player_id > 2:\r
- <a href="${request.route_url('player_info', id=pgstat.player_id)}" title="Go to the player info page for this player">${pgstat.nick_html_colors()|n}</a></td>\r
- % else:\r
- ${pgstat.nick_html_colors()|n}</td>\r
- % endif\r
- </tr>\r
- % else:\r
- <tr>\r
- <td>-</td>\r
- <td>-</td>\r
- <td>-</td>\r
- <td>-</td>\r
- <td>-</td>\r
- <td>-</td>\r
- </tr>\r
- % endif\r
- % endfor\r
- </tbody>\r
- </table>\r
- </div> <!-- /span12 -->\r
-</div> <!-- /row -->\r
+<%inherit file="base.mako"/>
+
+<%block name="title">
+Leaderboard
+</%block>
+
+<%block name="css">
+ ${parent.css()}
+ <link href="/static/css/sprites.css" rel="stylesheet">
+</%block>
+
+<%block name="hero_unit">
+ <div class="text-center">
+ <img src="/static/css/img/web_background_l2.png" />
+ % if summary_stats is None:
+ <p id="statline">Tracking Xonotic statistics since October 2011.</p>
+ % else:
+ <p id="statline">Tracking <a href="${request.route_url('player_index')}">${'{:2,d}'.format(summary_stats.total_players)}</a> players, <a href="${request.route_url('game_index')}">${'{:2,d}'.format(summary_stats.total_games)}</a> games (${'{:2,d}'.format(summary_stats.duel_games)} duel; ${'{:2,d}'.format(summary_stats.ctf_games)} ctf; ${'{:2,d}'.format(summary_stats.dm_games)} dm) and <a href="${request.route_url('server_index')}">${'{:2,d}'.format(summary_stats.total_servers)}</a> servers since October 2011.</p>
+ % endif
+ </div>
+</%block>
+
+##### RANKS #####
+% if len(ranks) < 4:
+ <div class="row">
+ <div class="span12">
+ <p style="text-align: center;"><i class="icon-white icon-info-sign"> </i> You don't seem to have any ranks yet.</p>
+ </div> <!-- span12 -->
+ </div> <!-- row -->
+
+% else:
+ <div class="row">
+ % for rs in ranks[:4]:
+ % if len(rs) > 0:
+ <div class="span3">
+ % if rs[0].game_type_cd == 'duel':
+ <h3>Duel Ranks</h3>
+ % elif rs[0].game_type_cd == 'ctf':
+ <h3>CTF Ranks</h3>
+ % elif rs[0].game_type_cd == 'dm':
+ <h3>DM Ranks</h3>
+ % elif rs[0].game_type_cd == 'tdm':
+ <h3>TDM Ranks</h3>
+ % endif
+
+ <table class="table table-hover table-condensed">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Nick</th>
+ <th>Elo</th>
+ </tr>
+ </thead>
+ <tbody>
+ <% i = 1 %>
+ % for r in rs:
+ <tr>
+ <td>${i}</td>
+ <td class="player-nick" style="max-width: 16em;"><a href="${request.route_url('player_info', id=r.player_id)}" title="Go to the player info page for this player">${r.nick_html_colors()|n}</a></td>
+ <td>${int(round(r.elo))}</td>
+ </tr>
+ <% i = i+1 %>
+ % endfor
+ </tbody>
+ </table>
+ <p class="note"><a href="${request.route_url('rank_index', page=1, game_type_cd=rs[0].game_type_cd)}" title="See more ${rs[0].game_type_cd} rankings">More...</a></p>
+ </div> <!-- /span4 -->
+ % endif
+
+ % endfor
+</div> <!-- row -->
+% endif
+
+
+##### ACTIVE PLAYERS #####
+<div class="row">
+ <div class="span4">
+ <h3>Most Active Players</h3>
+ <table class="table table-hover table-condensed">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Nick</th>
+ <th class="play-time">Play Time</th>
+ </tr>
+ </thead>
+ <tbody>
+ <% i = 1 %>
+ % for (player_id, nick, alivetime) in top_players:
+ <tr>
+ <td>${i}</td>
+ % if player_id != '-':
+ <td class="player-nick"><a href="${request.route_url('player_info', id=player_id)}" title="Go to the player info page for this player">${nick|n}</a></td>
+ % else:
+ <td>${nick|n}</td>
+ % endif
+ <td class="play-time">${alivetime}</td>
+ </tr>
+ <% i = i+1 %>
+ % endfor
+ </tbody>
+ </table>
+ <p class="note">*Most active stats are from the past 7 days</p>
+ </div> <!-- /span4 -->
+
+
+##### ACTIVE SERVERS #####
+ <div class="span4">
+ <h3>Most Active Servers</h3>
+ <table class="table table-hover table-condensed">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Server</th>
+ <th>Games</th>
+ </tr>
+ </thead>
+ <tbody>
+ <% i = 1 %>
+ % for (server_id, name, count) in top_servers:
+ <tr>
+ <td>${i}</td>
+ % if server_id != '-':
+ <td><a href="${request.route_url('server_info', id=server_id)}" title="Go to the server info page for ${name}">${name}</a></td>
+ % else:
+ <td>${name}</td>
+ % endif
+ <td>${count}</td>
+ </tr>
+ <% i = i+1 %>
+ % endfor
+ </tbody>
+ </table>
+ </div> <!-- /span4 -->
+
+
+##### ACTIVE MAPS #####
+ <div class="span4">
+ <h3>Most Active Maps</h3>
+ <table class="table table-hover table-condensed">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Map</th>
+ <th>Games</th>
+ </tr>
+ </thead>
+ <tbody>
+ <% i = 1 %>
+ % for (map_id, name, count) in top_maps:
+ <tr>
+ <td>${i}</td>
+ % if map_id != '-':
+ <td><a href="${request.route_url('map_info', id=map_id)}" title="Go to the map info page for ${name}">${name}</a></td>
+ % else:
+ <td>${name}</td>
+ % endif
+ <td>${count}</td>
+ </tr>
+ <% i = i+1 %>
+ % endfor
+ </tbody>
+ </table>
+ </div> <!-- /span4 -->
+</div> <!-- /row -->
+
+
+##### RECENT GAMES #####
+% if len(recent_games) > 0:
+<div class="row">
+ <div class="span12">
+ <h3>Recent Games</h3>
+ <table class="table table-hover table-condensed">
+ <thead>
+ <tr>
+ <th></th>
+ <th>Type</th>
+ <th>Server</th>
+ <th>Map</th>
+ <th>Time</th>
+ <th>Winner</th>
+ </tr>
+ </thead>
+ <tbody>
+ % for rg in recent_games:
+ <tr>
+ <td class="tdcenter"><a class="btn btn-primary btn-small" href="${request.route_url('game_info', id=rg.game_id)}" title="View detailed information about this game">view</a></td>
+ <td class="tdcenter"><span class="sprite sprite-${rg.game_type_cd}" alt="${rg.game_type_cd}" title="${rg.game_type_descr}"></span></td>
+ <td><a href="${request.route_url('server_info', id=rg.server_id)}" title="Go to the detail page for this server">${rg.server_name}</a></td>
+ <td><a href="${request.route_url('map_info', id=rg.map_id)}" title="Go to the map detail page for this map">${rg.map_name}</a></td>
+ <td><span class="abstime" data-epoch="${rg.epoch}" title="${rg.start_dt.strftime('%a, %d %b %Y %H:%M:%S UTC')}">${rg.fuzzy_date}</span></td>
+ <td class="player-nick">
+ % if rg.player_id > 2:
+ <a href="${request.route_url('player_info', id=rg.player_id)}" title="Go to the player info page for this player">${rg.nick_html_colors|n}</a></td>
+ % else:
+ ${rg.nick_html_colors|n}</td>
+ % endif
+ </tr>
+ % endfor
+ </tbody>
+ </table>
+ <p><a href="${request.route_url('game_index')}">More...</a></p>
+ </div> <!-- /span12 -->
+</div> <!-- /row -->
+% endif