Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
[ikiwiki.git] / IkiWiki / Plugin / editpage.pm
index da071d4920fe0e5fcafde8f20419925522278d31..8f71dafa89df49a3983f0ae185114a484608c994 100644 (file)
@@ -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