]> git.sesse.net Git - ccbs/blobdiff - html/ccbs.pm
Handle <> etc. in __DIE__ handler messages.
[ccbs] / html / ccbs.pm
index 608007864191f96bd7236d779db99b79625c9797..915e9507f1ffa99f24924c8020db2a496eb589b2 100755 (executable)
@@ -2,19 +2,27 @@ package ccbs;
 use Template;
 use CGI;
 use DBI;
+use HTML::Entities;
 use strict;
 use warnings;
 
 our $ccbs_dbdebug = 0;
        
 sub print_header {
-       print CGI::header(-type=>'text/html; charset=utf-8');
+       print CGI::header(-type=>'application/xhtml+xml; 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", "ccbsmmeligaen", "Noohos8h")
+       my $dbh = DBI->connect("dbi:Pg:dbname=ccbs;host=sql.samfundet.no", "ccbs", "GeT|>>B_")
                or die "Couldn't connect to database";
        $dbh->{RaiseError} = 1;
        return $dbh;
@@ -68,6 +76,16 @@ sub process_template {
        print $output;
 }
 
+sub user_error {
+       my $msg = shift;
+
+       ccbs::print_header();
+       ccbs::process_template('user-error.tmpl', 'Feil',
+               { message => $msg });
+
+       exit;
+}
+
 $SIG{__DIE__} = sub {
        # Gosh! Net::Resolver::DNS is brain-damaged.
        my $msg = shift;
@@ -75,7 +93,7 @@ $SIG{__DIE__} = sub {
 
        ccbs::print_header();
        ccbs::process_template('error.tmpl', 'Internal Server Error',
-               { message => $msg });
+               { message => HTML::Entities::encode_entities($msg) });
 };
 
 1;