X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=html%2Fccbs.pm;h=c1406ce1b259e15e6ddc85a1ef1df3f207b7f1b4;hp=7d5f90dd0a4abf827367ca7d164ed232f0be6060;hb=2d360215745cb4f4d22697da233b14eaff8ed176;hpb=35f6e765d69f966c8b4abc84f25bb0bfa3df9853 diff --git a/html/ccbs.pm b/html/ccbs.pm index 7d5f90d..c1406ce 100755 --- a/html/ccbs.pm +++ b/html/ccbs.pm @@ -2,10 +2,24 @@ package ccbs; use Template; use CGI; use DBI; +use HTML::Entities; +use Time::HiRes; +use Locale::gettext; +use POSIX; use strict; use warnings; +require '../intl/Sesse::GettextizeTemplates.pm'; + +our $start_time; + +BEGIN { + $start_time = [Time::HiRes::gettimeofday()]; +} our $ccbs_dbdebug = 0; + +# 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'); @@ -21,7 +35,7 @@ sub print_see_other { sub db_connect { $ccbs_dbdebug = defined(shift) ? 1 : 0; - my $dbh = DBI->connect("dbi:Pg:dbname=ccbs;host=sql.samfundet.no", "ccbs", "GeT|>>B_") + 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; return $dbh; @@ -59,12 +73,19 @@ sub process_template { my ($page, $title, $vars) = @_; $vars->{'page'} = $page; $vars->{'title'} = $title; + $vars->{'public'} = $ccbs_noadmin; + $vars->{'timetogenerate'} = sprintf "%.3f", Time::HiRes::tv_interval($start_time); + + POSIX::setlocale( &POSIX::LC_MESSAGES , "en_DK.UTF-8"); + Locale::gettext::bindtextdomain("ccbs", "po"); + Locale::gettext::textdomain("ccbs"); my $config = { INCLUDE_PATH => 'templates/', INTERPOLATE => 1, POST_CHOMP => 1, EVAL_PERL => 1, + FACTORY => 'Sesse::GettextizeTemplates' }; my $template = Template->new($config); @@ -84,6 +105,9 @@ sub user_error { exit; } +sub admin_only { + user_error("Beklager, databasen står i no-admin-mode.") if ($ccbs_noadmin); +} $SIG{__DIE__} = sub { # Gosh! Net::Resolver::DNS is brain-damaged. @@ -92,7 +116,7 @@ $SIG{__DIE__} = sub { ccbs::print_header(); ccbs::process_template('error.tmpl', 'Internal Server Error', - { message => $msg }); + { message => HTML::Entities::encode_entities($msg) }); }; 1;