summaryrefslogtreecommitdiff
path: root/IkiWiki/CGI.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/CGI.pm')
-rw-r--r--IkiWiki/CGI.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index f360b6778..08d796142 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -475,12 +475,22 @@ sub cgi_editpage ($$) { #{{{
}
} #}}}
+sub cgi_hyperestraier () { #{{{
+ # only works for GET requests
+ chdir("$config{wikistatedir}/hyperestraier") || error("chdir: $!");
+ exec("./".basename($config{cgiurl})) || error("estseek.cgi failed");
+} #}}}
+
sub cgi () { #{{{
eval q{use CGI};
eval q{use CGI::Session};
my $q=CGI->new;
+ if (defined $q->param('phrase')) {
+ cgi_hyperestraier();
+ }
+
my $do=$q->param('do');
if (! defined $do || ! length $do) {
error("\"do\" parameter missing");
@@ -491,6 +501,9 @@ sub cgi () { #{{{
cgi_recentchanges($q);
return;
}
+ elsif ($do eq 'hyperestraier') {
+ cgi_hyperestraier();
+ }
CGI::Session->name("ikiwiki_session_$config{wikiname}");