]> git.sesse.net Git - wloh/blobdiff - www/rating.pl
Do not show cheaters.
[wloh] / www / rating.pl
index c69d5a7bf2004cfe1ae1fe3eb9b96ba056ffee60..30951c4735c6848fe2b3b88df5b267da62cbb1c4 100755 (executable)
@@ -26,13 +26,13 @@ my $locale = wloh_common::get_locale($cgi);
 
 my $aux_parms = wloh_common::get_auxillary_parameters($dbh, $locale);
 
-POSIX::setlocale(&POSIX::LC_ALL, 'nb_NO.UTF-8');
+wloh_common::set_locale($locale);
 
 my $season = wloh_common::get_max_season($dbh, $locale);
 
 # Pick up all the subdivisions' ratings.
 my %subdivision_ratings = ();
-my $q = $dbh->prepare('SELECT divisjon, avdeling, serie_id, AVG(rating) AS avg_rating FROM ratings NATURAL JOIN siste_divisjon NATURAL JOIN spiller_kultur WHERE kultur=? AND sesong=? GROUP BY divisjon, avdeling, serie_id ORDER BY divisjon, avdeling');
+my $q = $dbh->prepare('SELECT divisjon, avdeling, serie_id, AVG(rating) AS avg_rating FROM ratings NATURAL JOIN siste_divisjon NATURAL JOIN spiller_kultur WHERE kultur=? AND sesong=? AND NOT jukser GROUP BY divisjon, avdeling, serie_id ORDER BY divisjon, avdeling');
 $q->execute($locale, $season);
 
 while (my $ref = $q->fetchrow_hashref) {
@@ -43,7 +43,7 @@ while (my $ref = $q->fetchrow_hashref) {
        push @{$subdivision_ratings{$division}}, [ $id, $rating ];
 }
 
-$q = $dbh->prepare('SELECT divisjon,AVG(rating) AS avg_rating,STDDEV(rating) AS stddev_rating FROM ratings NATURAL JOIN siste_divisjon NATURAL JOIN spiller_kultur WHERE kultur=? AND sesong=? GROUP BY divisjon ORDER BY divisjon');
+$q = $dbh->prepare('SELECT divisjon,AVG(rating) AS avg_rating,STDDEV(rating) AS stddev_rating FROM ratings NATURAL JOIN siste_divisjon NATURAL JOIN spiller_kultur WHERE kultur=? AND sesong=? AND NOT jukser GROUP BY divisjon ORDER BY divisjon');
 $q->execute($locale, $season);
 
 my @divisions = ();
@@ -52,7 +52,7 @@ my $i = 0;
 while (my $ref = $q->fetchrow_hashref) {
        my %division = ();
 
-       $division{'#rank'} = sprintf "%d.", $ref->{'divisjon'};
+       $division{'#rank'} = wloh_common::get_ordinal($ref->{'divisjon'}, $locale);
        $division{'#average'} = sprintf "%.1f", $ref->{'avg_rating'};
        $division{'#stddev'} = sprintf "%.1f", $ref->{'stddev_rating'};
 
@@ -77,6 +77,7 @@ FROM ratings
   NATURAL JOIN siste_divisjon
   NATURAL JOIN spiller_kultur
 WHERE kultur=?
+AND NOT jukser
 ORDER BY rating DESC');
 $q->execute($locale);
 
@@ -86,7 +87,7 @@ $i = 0;
 while (my $ref = $q->fetchrow_hashref) {
        my %player = ();
 
-       $player{'#rank'} = sprintf "%d.", ++$i;
+       $player{'#rank'} = wloh_common::get_ordinal(++$i, $locale);
        $player{'#user'} = Encode::decode_utf8($ref->{'navn'});
        $player{'#user/href'} = sprintf "http://wordfeud.aasmul.net/bruker-%d", $ref->{'id'};
        $player{'#rating'} = sprintf "%.1f", $ref->{'rating'};
@@ -97,8 +98,8 @@ while (my $ref = $q->fetchrow_hashref) {
        push @players, \%player;
 }
 
-print CGI->header(-type=>'text/html; charset=utf-8', -expires=>'+5m');
-wloh_common::process_template('rating.xml', {
+print CGI->header(-type=>'text/html; charset=utf-8', -expires=>'+75m');
+wloh_common::process_template('rating', $locale, {
        '#navbar' => wloh_common::get_navbar($cgi, $dbh, $locale),
        'iterations' => $aux_parms->{'num_iterations'},
        'rating-prior-stddev' => sprintf("%.1f", $aux_parms->{'rating_prior_stddev'}),