add cgi_overload_message

master
Joey Hess 2012-10-11 11:22:03 -04:00
parent 2eb1176216
commit b1cd1c067f
2 changed files with 20 additions and 2 deletions

View File

@ -126,6 +126,14 @@ sub getsetup () {
safe => 1,
rebuild => 0,
},
cgi_overload_message => {
type => "string",
default => '',
example => "Please wait",
description => "message to display when overloaded (may contain html)",
safe => 1,
rebuild => 0,
},
rcs => {
type => "string",
default => '',

View File

@ -105,6 +105,14 @@ EOF
my $i=int($config{cgi_overload_delay});
$pre_exec.="#define CGI_OVERLOAD_DELAY $i\n"
if $i > 0;
my $msg=gettext("Please wait");
$msg=~s/"/\\"/g;
$pre_exec.='#define CGI_PLEASE_WAIT_TITLE "'.$msg."\"\n";
if (defined $config{cgi_overload_message} && length $config{cgi_overload_message}) {
$msg=$config{cgi_overload_message};
$msg=~s/"/\\"/g;
}
$pre_exec.='#define CGI_PLEASE_WAIT_BODY "'.$msg."\"\n";
}
$pre_exec.=<<"EOF";
lockfd=open("$config{wikistatedir}/cgilock", O_CREAT | O_RDWR, 0666);
@ -116,9 +124,11 @@ EOF
set_cgilock_fd(lockfd);
}
else {
printf("Content-Type: text/html\\nRefresh: %i; URL=%s\\n\\n<html><head><title>please wait...</title><head><body><p>Please wait ...</p></body></html>",
printf("Content-Type: text/html\\nRefresh: %i; URL=%s\\n\\n<html><head><title>%s</title><head><body><p>%s</p></body></html>",
CGI_OVERLOAD_DELAY,
getenv("REQUEST_URI"));
getenv("REQUEST_URI"),
CGI_PLEASE_WAIT_TITLE,
CGI_PLEASE_WAIT_BODY);
exit(0);
}
}