X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=www%2Findex.pl;h=c31200a59586c5260fbadb8533cebdca7b95af64;hb=ea27f7d09fc8c7e3b284e0e248c37a126583faf9;hp=8e0b8f59814e8de16aef435f2e0b1eacf532dc5d;hpb=3298937aa329fbeefb64080636bc7873461e75c3;p=foosball diff --git a/www/index.pl b/www/index.pl index 8e0b8f5..c31200a 100755 --- a/www/index.pl +++ b/www/index.pl @@ -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,68 @@ 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, + ra3.rating_diff as diff3, + ra4.rating_diff as diff4 + 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.team1_username2=ra2.username + join double_rating ra3 + on re.gametime=ra3.ratetime + and re.team2_username1=ra3.username + join double_rating ra4 + on re.gametime=ra4.ratetime + and re.team2_username2=ra4.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, + null as diff2, + ra2.rating_diff as diff3, + null as diff4 + 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) { + if (defined($ref->{'diff2'})) { + $ref->{'diff1'} = sprintf "%+d / %+d", + int($ref->{'diff1'} + 0.5), + int($ref->{'diff2'} + 0.5); + $ref->{'diff2'} = sprintf "%+d / %+d", + int($ref->{'diff3'} + 0.5), + int($ref->{'diff4'} + 0.5); + } else { + $ref->{'diff1'} = sprintf "%+d", int($ref->{'diff1'} + 0.5); + $ref->{'diff2'} = sprintf "%+d", int($ref->{'diff3'} + 0.5); + } push @last_games, $ref; }