X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=html%2Fccbs.pm;h=3fdf3a5fc85b84c2c521954fb030ef30658f72cb;hb=39c362699f9d5070f2f09cfb576c4e2b0caa22f0;hp=60178f74d5d2e09ac68a05460424253c4b530db9;hpb=76df2df74743db56a6df70ba9a697f9b3daa2be4;p=ccbs diff --git a/html/ccbs.pm b/html/ccbs.pm index 60178f7..3fdf3a5 100755 --- a/html/ccbs.pm +++ b/html/ccbs.pm @@ -10,17 +10,25 @@ use strict; use warnings; 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 ); +Locale::gettext::bindtextdomain("ccbs", "po"); +Locale::gettext::textdomain("ccbs"); + our $start_time; BEGIN { $start_time = [Time::HiRes::gettimeofday()]; } -our $ccbs_dbdebug = 0; +# Hack to get the non-templatized gettext stuff working +*_ = sub { + return Locale::gettext::gettext(@_); +}; -# Set this flag to disable any admin tasks -- it's quite crude, but hey :-) -our $ccbs_noadmin = 0; - sub print_header { print CGI::header(-type=>'text/html; charset=utf-8'); } @@ -33,8 +41,6 @@ sub print_see_other { } sub db_connect { - $ccbs_dbdebug = defined(shift) ? 1 : 0; - my $dbh = DBI->connect("dbi:Pg:dbname=ccbs;host=www.positivegaming.com", "ccbs", "GeT|>>B_") or die "Couldn't connect to database"; $dbh->{RaiseError} = 1; @@ -48,14 +54,14 @@ sub db_fetch_all { $q->execute(@parms) or die "Could not execute query: " . $dbh->errstr; - if ($ccbs_dbdebug) { + if ($config::ccbs::dbdebug) { warn $sql; warn "params=" . join(', ', @parms); } my @ret = (); while (my $ref = $q->fetchrow_hashref()) { - if ($ccbs_dbdebug) { + if ($config::ccbs::dbdebug) { my $dbstr = ""; for my $k (sort keys %$ref) { $dbstr .= " " . $k . "=" . $ref->{$k}; @@ -73,13 +79,9 @@ sub process_template { my ($page, $title, $vars) = @_; $vars->{'page'} = $page; $vars->{'title'} = $title; - $vars->{'public'} = $ccbs_noadmin; + $vars->{'public'} = $config::ccbs::noadmin; $vars->{'timetogenerate'} = sprintf "%.3f", Time::HiRes::tv_interval($start_time); - POSIX::setlocale( &POSIX::LC_MESSAGES , "nb_NO.UTF-8"); - Locale::gettext::bindtextdomain("ccbs", "po"); - Locale::gettext::textdomain("ccbs"); - my $config = { INCLUDE_PATH => 'templates/', INTERPOLATE => 1, @@ -100,13 +102,13 @@ sub user_error { my $msg = shift; ccbs::print_header(); - ccbs::process_template('user-error.tmpl', 'Feil', + ccbs::process_template('user-error.tmpl', _('Error'), { message => $msg }); exit; } sub admin_only { - user_error("Beklager, databasen står i no-admin-mode.") if ($ccbs_noadmin); + user_error(_("Sorry, the database is in no-admin-mode.")) if ($config::ccbs::noadmin); } $SIG{__DIE__} = sub { @@ -115,7 +117,7 @@ $SIG{__DIE__} = sub { return if $msg =~ m#Win32/Registry.pm#; ccbs::print_header(); - ccbs::process_template('error.tmpl', 'Internal Server Error', + ccbs::process_template('error.tmpl', _('Internal Server Error'), { message => HTML::Entities::encode_entities($msg) }); };