aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/CGI.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-01-31 19:02:50 -0500
committerJoey Hess <joey@gnu.kitenet.net>2009-01-31 19:02:50 -0500
commitb0361b8efde26fbf4f3207be6c3c8f39eb16a9f3 (patch)
tree144e2ace0947451a6dcf18cdbe82a951cec7271e /IkiWiki/CGI.pm
parent3be69a0fe49f947a9f5ef26ce0c5920c6295902d (diff)
downloadikiwiki-b0361b8efde26fbf4f3207be6c3c8f39eb16a9f3.tar
ikiwiki-b0361b8efde26fbf4f3207be6c3c8f39eb16a9f3.tar.gz
factor out IE stupididy workaround
Diffstat (limited to 'IkiWiki/CGI.pm')
-rw-r--r--IkiWiki/CGI.pm23
1 files changed, 17 insertions, 6 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index c91914564..3000ed100 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -229,6 +229,20 @@ sub cgi_prefs ($$) {
showform($form, $buttons, $session, $q);
}
+sub cgi_custom_failure ($$) {
+ my $header=shift;
+ my $message=shift;
+
+ print $header;
+ print $message;
+
+ # Internet Explod^Hrer won't show custom 404 responses
+ # unless they're >= 512 bytes
+ print ' ' x 512;
+
+ exit;
+}
+
sub check_banned ($$) {
my $q=shift;
my $session=shift;
@@ -236,14 +250,11 @@ sub check_banned ($$) {
my $name=$session->param("name");
if (defined $name) {
if (grep { $name eq $_ } @{$config{banned_users}}) {
- print $q->header(-status => "403 Forbidden");
$session->delete();
- print gettext("You are banned.");
- # Internet Explorer won't show custom 404 responses
- # unless they're >= 512 bytes
- print " " x 512;
cgi_savesession($session);
- exit;
+ cgi_custom_failure(
+ $q->header(-status => "403 Forbidden"),
+ gettext("You are banned."));
}
}
}