X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=common.pm;h=60cc243d608e275714f60edb17c65eef1e1b5dda;hb=1fac0677bbcba5dec26e11aa661c97e38f6c3d40;hp=7ec01a06e4eee50bb8975329ff0e47f9779bc2b2;hpb=efea57bacf3357ae3be8c4f3053e9272e29a502b;p=wloh diff --git a/common.pm b/common.pm index 7ec01a0..60cc243 100644 --- a/common.pm +++ b/common.pm @@ -5,8 +5,9 @@ use POSIX; package wloh_common; sub get_max_season { - my $dbh = shift; - my $ref = $dbh->selectrow_hashref('SELECT MAX(sesong) AS max_sesong FROM fotballserier'); + my ($dbh, $locale) = @_; + my $ref = $dbh->selectrow_hashref('SELECT MAX(sesong) AS max_sesong FROM fotballserier se JOIN fotballspraak sp ON se.spraak=sp.id WHERE kultur=?', + undef, $locale); return $ref->{'max_sesong'}; } @@ -21,4 +22,49 @@ sub output_last_sync { } } +sub get_locale { + my $cgi = shift; + my $url = $cgi->url(-absolute => 1); + $url =~ m#^/([a-z][a-z]-[A-Z][A-Z])/# or die "Invalid locale!"; + return $1; +} + +sub get_auxillary_parameters { + my ($dbh, $locale) = @_; + + my $q = $dbh->prepare('SELECT * FROM aux_params WHERE kultur=?'); + $q->execute($locale); + + my $aux_parms = {}; + while (my $ref = $q->fetchrow_hashref) { + $aux_parms->{$ref->{'id'}} = $ref->{'value'}; + } + return $aux_parms; +} + +sub print_navbar { + my ($cgi, $dbh, $locale) = @_; + my $url = $cgi->url(-relative => 1); + + print "

"; + + my $q = $dbh->prepare('SELECT spraak, kultur FROM fotballspraak WHERE nyestesesong <> -1 ORDER BY id'); + $q->execute; + + my $first = 1; + while (my $ref = $q->fetchrow_hashref) { + if (!$first) { + print " :: "; + } + $first = 0; + + if ($ref->{'kultur'} eq $locale) { + printf "%s ", $ref->{'spraak'}; + } else { + printf "%s ", $ref->{'kultur'}, $url, $ref->{'spraak'}; + } + } + print "

\n"; +} + 1;