Ant Zucaro [Thu, 28 Mar 2013 18:27:42 +0000 (14:27 -0400)]
Port over all older styles (tables in particular).
All of the table-based stuff wasn't looking right under default, so
port over the older ones instead. Change all tables having the
"table-bordered" class to "table-hover".
Ant Zucaro [Sun, 24 Mar 2013 13:33:06 +0000 (09:33 -0400)]
Add bootstrap.
Bootstrap release candidate 3 is complete enough for me to use. In
particular I can have the icon font and the minimized CSS (for
responsive and regular).
Ant Zucaro [Sun, 17 Feb 2013 21:05:33 +0000 (16:05 -0500)]
"Intercept" requests during downtime
This is a Golang utility that allows the stats maintainer to still
accept requests from remote servers while the XonStat server is
down for maintenance. It basically takes the requests and stores
them into a small sqlite3 database for future (re)submission.
When users navigate to the normal stats URL, they'll be greeted
with a downpage informing them of maintenance work instead of the
normal app.
Usage of xs_interceptor:
xs_interceptor [options] <command>
Where <command> is one of the following:
create - create the requests db (sqlite3 db file)
drop - remove the requests db
list - lists the requests in the db
serve - listens for stats requests, storing them if found
resubmit - resubmits the requests to another URL
Where [options] is one or more of the following:
-port - port number (int) to listen on for 'serve' command
-url - url (string) to submit requests
Ant Zucaro [Wed, 6 Feb 2013 02:30:12 +0000 (21:30 -0500)]
Two new utilities written in Go.
xs_parselog parses XonStat log and extracts/recreates requests
into text files, one request per file.
xs_submit takes a XonStat request via a text file and submits it
to a user-specified URL.
Both of these utlities can be run with "go run <filename> [opts]"
after having install the Go programming language on your machine.
Alternatively, one can build executables with "go build <filename>".
Ant Zucaro [Fri, 25 Jan 2013 22:41:38 +0000 (17:41 -0500)]
Allow version-specific gametype support.
It often happens when a gametype can't be supported because of
some random bug in the server code. This presents a problem
for when the bug is fixed, but servers still use the old code. We
can now specify that a game type is supported only after a certain
time by using version number restrictions. For example, CA is
supported, but only if the stats submission version is >= 5. Older
servers still having versions <= 5 won't record CA b/c they would
not pass this restriction.
antzucaro [Fri, 4 Jan 2013 19:14:55 +0000 (14:14 -0500)]
Add request verification parameter in the dev INI.
This was added to the production.ini file without going in here
first. It controls whether or not to verify requests using the
d0_blind_id library provided by Xonotic (not packaged in this
project).
antzucaro [Sun, 30 Dec 2012 16:40:55 +0000 (11:40 -0500)]
Add a plain text hashkey view for menu integration.
This adds a plain text response view at the URL /player/<hashkey>,
where hashkey is the idfp of a given player. The response is quite
lengthy and won't be specified in this message, but suffice to say
that the response roughly corresponds to the player_info JSON view
currently at /player/<player_id>.json.
Ant Zucaro [Mon, 24 Dec 2012 14:38:34 +0000 (09:38 -0500)]
Add a basic game finder view at the /gamefinder URL.
The game finder view is intended to be a better advanced search.
We'll see how it works out, but for now at least I can use this
view to show more of the "recent games" tables for each entity.
Ant Zucaro [Sat, 22 Dec 2012 21:57:46 +0000 (16:57 -0500)]
Refactor the "top <blah>" tables on the front page, cache them.
The main_index view was getting a little long, so I factored out
the "top <blah>" data queries into separate functions. I cached
those functions under an hourly term while I was at it.
Ant Zucaro [Sat, 22 Dec 2012 20:59:17 +0000 (15:59 -0500)]
Simplify the rank table calculations. Woohoo, negative LOC!
Before the main view was running three separate, similar queries
to grab the rank data for the three game types shown on the page.
This was factored out into a separate function that can be called
and cached (currently hourly_term). Also if no ranks are available,
don't show tables filled with '-' characters, but rather an
informative message instead.