]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/editpage.pm
make urlabs a noop if base url is not provided
[git.ikiwiki.info.git] / IkiWiki / Plugin / editpage.pm
index 3ba6c519e9bafeb304faca37eea975e00c53a486..f6cebd4cd466eba086aa232bf54381607bc7add7 100644 (file)
@@ -75,7 +75,7 @@ sub cgi_editpage ($$) {
                required => [qw{editcontent}],
                javascript => 0,
                params => $q,
                required => [qw{editcontent}],
                javascript => 0,
                params => $q,
-               action => $config{cgiurl},
+               action => IkiWiki::cgiurl(),
                header => 0,
                table => 0,
                template => { template("editpage.tmpl") },
                header => 0,
                table => 0,
                template => { template("editpage.tmpl") },
@@ -98,7 +98,7 @@ sub cgi_editpage ($$) {
                error(gettext("bad page name"));
        }
 
                error(gettext("bad page name"));
        }
 
-       my $baseurl = urlto($page, undef, 1);
+       my $baseurl = urlto($page);
 
        my $from;
        if (defined $form->field('from')) {
 
        my $from;
        if (defined $form->field('from')) {
@@ -156,13 +156,13 @@ sub cgi_editpage ($$) {
        my $previewing=0;
        if ($form->submitted eq "Cancel") {
                if ($form->field("do") eq "create" && defined $from) {
        my $previewing=0;
        if ($form->submitted eq "Cancel") {
                if ($form->field("do") eq "create" && defined $from) {
-                       redirect($q, urlto($from, undef, 1));
+                       redirect($q, urlto($from));
                }
                elsif ($form->field("do") eq "create") {
                }
                elsif ($form->field("do") eq "create") {
-                       redirect($q, $config{url});
+                       redirect($q, baseurl(undef));
                }
                else {
                }
                else {
-                       redirect($q, urlto($page, undef, 1));
+                       redirect($q, $baseurl);
                }
                exit;
        }
                }
                exit;
        }
@@ -262,7 +262,7 @@ sub cgi_editpage ($$) {
                                        @page_locs=$page;
                                }
                                else {
                                        @page_locs=$page;
                                }
                                else {
-                                       redirect($q, urlto($page, undef, 1));
+                                       redirect($q, $baseurl);
                                        exit;
                                }
                        }
                                        exit;
                                }
                        }
@@ -291,7 +291,7 @@ sub cgi_editpage ($$) {
                                value => $best_loc);
                        $form->field(name => "type", type => 'select',
                                options => \@page_types);
                                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") {
                        
                }
                elsif ($form->field("do") eq "edit") {
@@ -309,11 +309,10 @@ sub cgi_editpage ($$) {
                        $form->tmpl_param("page_select", 0);
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $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_preview($form, \@buttons, $session, $q, page => $page);
        }
        else {
                # save page
        }
        else {
                # save page
@@ -330,8 +329,8 @@ sub cgi_editpage ($$) {
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $form->title(sprintf(gettext("editing %s"), $page));
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $form->title(sprintf(gettext("editing %s"), $page));
-                       showform($form, \@buttons, $session, $q,
-                               forcebaseurl => $baseurl, page => $page);
+                       showform_preview($form, \@buttons, $session, $q,
+                               page => $page);
                        exit;
                }
                elsif ($form->field("do") eq "create" && $exists) {
                        exit;
                }
                elsif ($form->field("do") eq "create" && $exists) {
@@ -345,8 +344,8 @@ sub cgi_editpage ($$) {
                                value => readfile("$config{srcdir}/$file").
                                         "\n\n\n".$form->field("editcontent"),
                                force => 1);
                                value => readfile("$config{srcdir}/$file").
                                         "\n\n\n".$form->field("editcontent"),
                                force => 1);
-                       showform($form, \@buttons, $session, $q,
-                               forcebaseurl => $baseurl, page => $page);
+                       showform_preview($form, \@buttons, $session, $q,
+                               page => $page);
                        exit;
                }
                        
                        exit;
                }
                        
@@ -386,8 +385,8 @@ sub cgi_editpage ($$) {
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $form->title(sprintf(gettext("editing %s"), $page));
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $form->title(sprintf(gettext("editing %s"), $page));
-                       showform($form, \@buttons, $session, $q,
-                               forcebaseurl => $baseurl, page => $page);
+                       showform_preview($form, \@buttons, $session, $q,
+                               page => $page);
                        exit;
                }
                
                        exit;
                }
                
@@ -401,9 +400,12 @@ sub cgi_editpage ($$) {
                        # signaling to it that it should not try to
                        # do anything.
                        disable_commit_hook();
                        # signaling to it that it should not try to
                        # do anything.
                        disable_commit_hook();
-                       $conflict=rcs_commit($file, $message,
-                               $form->field("rcsinfo"),
-                               $session->param("name"), $ENV{REMOTE_ADDR});
+                       $conflict=rcs_commit(
+                               file => $file,
+                               message => $message,
+                               token => $form->field("rcsinfo"),
+                               session => $session,
+                       );
                        enable_commit_hook();
                        rcs_update();
                }
                        enable_commit_hook();
                        rcs_update();
                }
@@ -425,13 +427,13 @@ sub cgi_editpage ($$) {
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $form->title(sprintf(gettext("editing %s"), $page));
                        $form->field(name => "page", type => 'hidden');
                        $form->field(name => "type", type => 'hidden');
                        $form->title(sprintf(gettext("editing %s"), $page));
-                       showform($form, \@buttons, $session, $q,
-                               forcebaseurl => $baseurl, page => $page);
+                       showform_preview($form, \@buttons, $session, $q,
+                               page => $page);
                }
                else {
                        # The trailing question mark tries to avoid broken
                        # caches and get the most recent version of the page.
                }
                else {
                        # The trailing question mark tries to avoid broken
                        # caches and get the most recent version of the page.
-                       redirect($q, urlto($page, undef, 1)."?updated");
+                       redirect($q, $baseurl."?updated");
                }
        }
 
                }
        }