X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=www%2Findex.pl;h=2cecec4672ad48d7a1893ef4a951989f367c556b;hb=dec0ff92103e212921be03744323ed3a3074e996;hp=0967b82a58e68a4aa696350fc9633c3fdef1ea39;hpb=be872e94c19332a2c2de96c05c772d183699401d;p=wloh diff --git a/www/index.pl b/www/index.pl index 0967b82..2cecec4 100755 --- a/www/index.pl +++ b/www/index.pl @@ -7,8 +7,14 @@ use CGI::Carp qw( fatalsToBrowser ); use DBI; use POSIX; use Devel::Peek; +use HTML::Entities; +use Encode; +use utf8; use locale; require '../config.pm'; +require '../common.pm'; + +my $cgi = CGI->new; my $dbh = DBI->connect($config::local_connstr, $config::local_username, $config::local_password) or die "connect: " . $DBI::errstr; @@ -21,12 +27,11 @@ binmode STDOUT, ':utf8'; my %players = (); my %ratings = (); +my %ratings_stddev = (); my @matches = (); sub sanitize { - $_ = shift; - y/ \t\n<>&/_/; - return $_; + return HTML::Entities::encode_entities(shift); } sub color { @@ -34,30 +39,168 @@ sub color { return int(255.0 * ($x ** (1.80))); } -sub make_table { - my $used_ratings = shift; +sub get_max_season { + my $dbh = shift; + my $ref = $dbh->selectrow_hashref('SELECT MAX(sesong) AS max_sesong FROM fotballserier'); + return $ref->{'max_sesong'}; +} + +sub get_divisions { + my ($dbh, $season) = @_; + + my @divisions = (); + + my $q = $dbh->prepare('SELECT DISTINCT(divisjon) FROM fotballserier WHERE sesong=? ORDER BY divisjon'); + $q->execute($season); + + while (my $ref = $q->fetchrow_hashref) { + push @divisions, $ref->{'divisjon'}; + } + + return @divisions; +} + +sub get_subdivisions { + my ($dbh, $season, $division) = @_; + + my @subdivisions = (); + + my $q = $dbh->prepare('SELECT DISTINCT(avdeling) FROM fotballserier WHERE sesong=? AND divisjon=? ORDER BY avdeling'); + $q->execute($season, $division); + + while (my $ref = $q->fetchrow_hashref) { + push @subdivisions, $ref->{'avdeling'}; + } + + return @subdivisions; +} + +sub print_division_selector { + my ($dbh, $divisions, $subdivisions, $division, $subdivision) = @_; print <<"EOF"; +