X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=html%2Fccbs.pm;h=81955433fc50001a4e28aad4a0a5b4e4ef8127ae;hb=29622ff6c28f9e8e44c022f71b62f1d6685718f9;hp=7087d5f29742c594e376416ff665a8a620a3449f;hpb=24542029c8e4d89a755bf6882e6fbd49df6568fd;p=ccbs diff --git a/html/ccbs.pm b/html/ccbs.pm index 7087d5f..8195543 100755 --- a/html/ccbs.pm +++ b/html/ccbs.pm @@ -2,19 +2,30 @@ package ccbs; use Template; use CGI; use DBI; +use HTML::Entities; use strict; use warnings; 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'); } +sub print_see_other { + my $location = shift; + + print CGI::header(-status=>'303 See other', + -location=>'http://ccbs.sesse.net/' . $location, + -type=>'text/html; charset=utf-8'); +} 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=altersex.samfundet.no", "ccbs", "GeT|>>B_") or die "Couldn't connect to database"; $dbh->{RaiseError} = 1; return $dbh; @@ -52,6 +63,7 @@ sub process_template { my ($page, $title, $vars) = @_; $vars->{'page'} = $page; $vars->{'title'} = $title; + $vars->{'public'} = $ccbs_noadmin; my $config = { INCLUDE_PATH => 'templates/', @@ -77,6 +89,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. @@ -85,7 +100,7 @@ $SIG{__DIE__} = sub { ccbs::print_header(); ccbs::process_template('error.tmpl', 'Internal Server Error', - { message => $msg }); + { message => HTML::Entities::encode_entities($msg) }); }; 1;