factor out IE stupididy workaround
parent
3be69a0fe4
commit
b0361b8efd
|
@ -229,6 +229,20 @@ sub cgi_prefs ($$) {
|
||||||
showform($form, $buttons, $session, $q);
|
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 ($$) {
|
sub check_banned ($$) {
|
||||||
my $q=shift;
|
my $q=shift;
|
||||||
my $session=shift;
|
my $session=shift;
|
||||||
|
@ -236,14 +250,11 @@ sub check_banned ($$) {
|
||||||
my $name=$session->param("name");
|
my $name=$session->param("name");
|
||||||
if (defined $name) {
|
if (defined $name) {
|
||||||
if (grep { $name eq $_ } @{$config{banned_users}}) {
|
if (grep { $name eq $_ } @{$config{banned_users}}) {
|
||||||
print $q->header(-status => "403 Forbidden");
|
|
||||||
$session->delete();
|
$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);
|
cgi_savesession($session);
|
||||||
exit;
|
cgi_custom_failure(
|
||||||
|
$q->header(-status => "403 Forbidden"),
|
||||||
|
gettext("You are banned."));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,15 +44,14 @@ sub cgi_goto ($;$) {
|
||||||
my $link = bestlink("", $page);
|
my $link = bestlink("", $page);
|
||||||
|
|
||||||
if (! length $link) {
|
if (! length $link) {
|
||||||
print $q->header(-status => "404 Not Found");
|
IkiWiki::cgi_custom_failure(
|
||||||
print IkiWiki::misctemplate(gettext("missing page"),
|
$q->header(-status => "404 Not Found"),
|
||||||
|
IkiWiki::misctemplate(gettext("missing page"),
|
||||||
"<p>".
|
"<p>".
|
||||||
sprintf(gettext("The page %s does not exist."),
|
sprintf(gettext("The page %s does not exist."),
|
||||||
htmllink("", "", $page)).
|
htmllink("", "", $page)).
|
||||||
"</p>".
|
"</p>")
|
||||||
# Internet Explorer won't show custom 404 responses
|
)
|
||||||
# unless they're >= 512 bytes
|
|
||||||
(" " x 512));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
IkiWiki::redirect($q, urlto($link, undef, 1));
|
IkiWiki::redirect($q, urlto($link, undef, 1));
|
||||||
|
|
Loading…
Reference in New Issue