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", "ccbsmmeligaen", "Noohos8h")
+ 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;
my ($page, $title, $vars) = @_;
$vars->{'page'} = $page;
$vars->{'title'} = $title;
+ $vars->{'public'} = $ccbs_noadmin;
my $config = {
INCLUDE_PATH => 'templates/',
print $output;
}
+sub user_error {
+ my $msg = shift;
+
+ ccbs::print_header();
+ ccbs::process_template('user-error.tmpl', 'Feil',
+ { message => $msg });
+
+ 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.
my $msg = shift;
ccbs::print_header();
ccbs::process_template('error.tmpl', 'Internal Server Error',
- { message => $msg });
+ { message => HTML::Entities::encode_entities($msg) });
};
1;