X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3adb47ec4f7374128d18a88cff54269104fc21fe..cfbcbda0ad848334640ad849ed618873ecba8eb4:/IkiWiki/Plugin/goto.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/goto.pm b/IkiWiki/Plugin/goto.pm index 669211691..3a946b19d 100644 --- a/IkiWiki/Plugin/goto.pm +++ b/IkiWiki/Plugin/goto.pm @@ -7,6 +7,7 @@ use IkiWiki 3.00; sub import { hook(type => "cgi", id => 'goto', call => \&cgi); + hook(type => "getsetup", id => 'goto', call => \&getsetup); } sub getsetup () { @@ -26,7 +27,7 @@ sub cgi_goto ($;$) { my $page = shift; if (!defined $page) { - $page = IkiWiki::decode_utf8($q->param("page")); + $page = IkiWiki::decode_utf8(scalar $q->param("page")); if (!defined $page) { error("missing page parameter"); @@ -51,11 +52,11 @@ sub cgi_goto ($;$) { IkiWiki::redirect($q, $pagestate{$page}{meta}{permalink}); } - if (! length $link) { + if (! defined $link || ! length $link) { IkiWiki::cgi_custom_failure( $q, "404 Not Found", - IkiWiki::misctemplate(gettext("missing page"), + IkiWiki::cgitemplate($q, gettext("missing page"), "

". sprintf(gettext("The page %s does not exist."), htmllink("", "", $page)). @@ -63,7 +64,7 @@ sub cgi_goto ($;$) { ) } else { - IkiWiki::redirect($q, urlto($link, undef, 1)); + IkiWiki::redirect($q, urlto($link)); } exit;