X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=html%2Fccbs.pm;h=1807e0953de82cfdbb066373c8c4af7ed4ba58a4;hb=a317762dab2b775334cc85a43b6fe2e3c2097eab;hp=9d5c44fd337008ea05f4329fcabf77b54a8a3bb1;hpb=2eafc1f9109e3feea83e25667651c93bf2e24542;p=ccbs diff --git a/html/ccbs.pm b/html/ccbs.pm index 9d5c44f..1807e09 100755 --- a/html/ccbs.pm +++ b/html/ccbs.pm @@ -1,6 +1,7 @@ package ccbs; use Template; use CGI; +use CGI::Cookie; use DBI; use HTML::Entities; use Time::HiRes; @@ -13,8 +14,16 @@ require '../intl/Sesse::GettextizeTemplates.pm'; require '../config.pm'; -r '../config.local.pm' and require '../config.local.pm'; -POSIX::setlocale( &POSIX::LC_CTYPE , $ccbs::config::lang ); -POSIX::setlocale( &POSIX::LC_MESSAGES , $ccbs::config::lang ); +# Check for language settings +my %cookies = fetch CGI::Cookie; +my $lang = defined($cookies{'language'}) ? $cookies{'language'}->value : undef; +if (defined($lang) && ($lang eq 'nb_NO' || $lang eq 'nn_NO' || $lang eq 'en_US')) { + POSIX::setlocale( &POSIX::LC_CTYPE , $lang . ".UTF-8" ); + POSIX::setlocale( &POSIX::LC_MESSAGES , $lang . ".UTF-8" ); +} else { + POSIX::setlocale( &POSIX::LC_CTYPE , $ccbs::config::lang ); + POSIX::setlocale( &POSIX::LC_MESSAGES , $ccbs::config::lang ); +} Locale::gettext::bindtextdomain("ccbs", "po"); Locale::gettext::textdomain("ccbs"); @@ -36,7 +45,7 @@ sub print_see_other { my $location = shift; print CGI::header(-status=>'303 See other', - -location=>'http://ccbs.sesse.net/' . $location, + -location=>$ccbs::config::webroot . $location, -type=>'text/html; charset=utf-8'); } @@ -79,7 +88,7 @@ sub process_template { my ($page, $title, $vars) = @_; $vars->{'page'} = $page; $vars->{'title'} = $title; - $vars->{'public'} = $config::ccbs::noadmin; + $vars->{'public'} = $ccbs::config::noadmin; $vars->{'timetogenerate'} = sprintf "%.3f", Time::HiRes::tv_interval($start_time); my $config = {