X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3df883ba94d7b06697ce15bed2058768bc8de006..cb2025af4501b4168440bb8583f95ca5836d72ae:/IkiWiki/Plugin/goto.pm diff --git a/IkiWiki/Plugin/goto.pm b/IkiWiki/Plugin/goto.pm index 06ec0bdca..03bd682b3 100644 --- a/IkiWiki/Plugin/goto.pm +++ b/IkiWiki/Plugin/goto.pm @@ -14,6 +14,7 @@ sub getsetup () { plugin => { safe => 1, rebuild => 0, + section => "web", } } @@ -32,6 +33,12 @@ sub cgi_goto ($;$) { } } + # It's possible that $page is not a valid page name; + # if so attempt to turn it into one. + if ($page !~ /$config{wiki_file_regexp}/) { + $page=titlepage($page); + } + IkiWiki::loadindex(); # If the page is internal (like a comment), see if it has a @@ -45,7 +52,8 @@ sub cgi_goto ($;$) { if (! length $link) { IkiWiki::cgi_custom_failure( - $q->header(-status => "404 Not Found"), + $q, + "404 Not Found", IkiWiki::misctemplate(gettext("missing page"), "

". sprintf(gettext("The page %s does not exist."), @@ -65,7 +73,7 @@ sub cgi ($) { my $do = $cgi->param('do'); if (defined $do && ($do eq 'goto' || $do eq 'commenter' || - $do eq 'recentchanged_link')) { + $do eq 'recentchanges_link')) { # goto is the preferred name for this; recentchanges_link and # commenter are for compatibility with any saved URLs cgi_goto($cgi);