]> git.sesse.net Git - foosball/blobdiff - www/index.pl
Show the rating difference for each game.
[foosball] / www / index.pl
index 8e0b8f59814e8de16aef435f2e0b1eacf532dc5d..6f77c3323de3117a4bdae5d32a0c8ff734472029 100755 (executable)
@@ -15,6 +15,8 @@ $q->execute();
 while (my $ref = $q->fetchrow_hashref) {
        my $username = $ref->{'username'};
        my ($rating, $rd) = foosball::find_single_rating($dbh, $username);
+       next if ($rating == 0 || $rating == 1500);
+
        my ($oldrating) = foosball::find_single_rating($dbh, $username, 'AND ratetime::date < current_date ');
 
        my $trend = "";
@@ -39,6 +41,8 @@ $q->execute();
 while (my $ref = $q->fetchrow_hashref) {
        my $username = $ref->{'username'};
        my ($rating, $rd) = foosball::find_double_rating($dbh, $username);
+       next if ($rating == 0 || $rating == 1500);
+
        my ($oldrating) = foosball::find_double_rating($dbh, $username, 'AND ratetime::date < current_date ');
 
        my $trend = "";
@@ -58,9 +62,49 @@ while (my $ref = $q->fetchrow_hashref) {
 
 # Last games
 my @last_games = ();
-$q = $dbh->prepare('select * from ( select to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,\'Double\' as type,team1_username1 || \' / \' || team1_username2 as username1, team2_username1 || \' / \' || team2_username2 as username2,score1,score2 from double_results union all select to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,\'Single\' as type,username1,username2,score1,score2 from single_results ) t1 order by gametime desc limit 10');
+$q = $dbh->prepare('
+select * from (
+    select
+        to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,
+        \'Double\' as type,
+       team1_username1 || \' / \' || team1_username2 as username1,
+        team2_username1 || \' / \' || team2_username2 as username2,
+       score1,
+       score2,
+       ra1.rating_diff as diff1, 
+       ra2.rating_diff as diff2
+    from
+        double_results re
+        join double_rating ra1
+            on re.gametime=ra1.ratetime
+           and re.team1_username1=ra1.username
+       join double_rating ra2
+           on re.gametime=ra2.ratetime
+           and re.team2_username1=ra2.username
+    union all
+    select
+        to_char(gametime, \'IYYY-MM-DD HH24:MI\') as gametime,
+       \'Single\' as type,
+       username1,
+       username2,
+       score1,
+       score2,
+       ra1.rating_diff as diff1, 
+       ra2.rating_diff as diff2
+    from
+        single_results re
+        join single_rating ra1
+            on re.gametime=ra1.ratetime
+           and re.username1=ra1.username
+       join single_rating ra2
+           on re.gametime=ra2.ratetime
+           and re.username2=ra2.username
+) t1
+order by gametime desc limit 10');
 $q->execute();
 while (my $ref = $q->fetchrow_hashref) {
+       $ref->{'diff1'} = sprintf "%+d", int($ref->{'diff1'} + 0.5);
+       $ref->{'diff2'} = sprintf "%+d", int($ref->{'diff2'} + 0.5);
        push @last_games, $ref;
 }