X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3697a684df0f9bf931fafb3cd7766753b47c1970..d77b826120ce305f716b21cbd8e559e54bee6981:/IkiWiki/Plugin/editpage.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index da071d492..8f71dafa8 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -91,6 +91,9 @@ sub cgi_editpage ($$) { # This untaint is safe because we check file_pruned and # wiki_file_regexp. my ($page)=$form->field('page')=~/$config{wiki_file_regexp}/; + if (! defined $page) { + error(gettext("bad page name")); + } $page=possibly_foolish_untaint($page); my $absolute=($page =~ s#^/+##); # absolute name used to force location if (! defined $page || ! length $page || @@ -291,7 +294,7 @@ sub cgi_editpage ($$) { value => $best_loc); $form->field(name => "type", type => 'select', options => \@page_types); - $form->title(sprintf(gettext("creating %s"), pagetitle($page))); + $form->title(sprintf(gettext("creating %s"), pagetitle(basename($page)))); } elsif ($form->field("do") eq "edit") { @@ -309,11 +312,10 @@ sub cgi_editpage ($$) { $form->tmpl_param("page_select", 0); $form->field(name => "page", type => 'hidden'); $form->field(name => "type", type => 'hidden'); - $form->title(sprintf(gettext("editing %s"), pagetitle($page))); + $form->title(sprintf(gettext("editing %s"), pagetitle(basename($page)))); } - showform($form, \@buttons, $session, $q, - forcebaseurl => $baseurl, page => $page); + showform($form, \@buttons, $session, $q, page => $page); } else { # save page @@ -331,7 +333,7 @@ sub cgi_editpage ($$) { $form->field(name => "type", type => 'hidden'); $form->title(sprintf(gettext("editing %s"), $page)); showform($form, \@buttons, $session, $q, - forcebaseurl => $baseurl, page => $page); + page => $page); exit; } elsif ($form->field("do") eq "create" && $exists) { @@ -346,7 +348,7 @@ sub cgi_editpage ($$) { "\n\n\n".$form->field("editcontent"), force => 1); showform($form, \@buttons, $session, $q, - forcebaseurl => $baseurl, page => $page); + page => $page); exit; } @@ -387,7 +389,7 @@ sub cgi_editpage ($$) { $form->field(name => "type", type => 'hidden'); $form->title(sprintf(gettext("editing %s"), $page)); showform($form, \@buttons, $session, $q, - forcebaseurl => $baseurl, page => $page); + page => $page); exit; } @@ -429,7 +431,7 @@ sub cgi_editpage ($$) { $form->field(name => "type", type => 'hidden'); $form->title(sprintf(gettext("editing %s"), $page)); showform($form, \@buttons, $session, $q, - forcebaseurl => $baseurl, page => $page); + page => $page); } else { # The trailing question mark tries to avoid broken