editpage: beautify redirection URLs, avoiding exposing the implementation detail...
authorSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Sun, 21 Sep 2008 17:22:54 +0000 (18:22 +0100)
committerSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Sun, 21 Sep 2008 17:26:42 +0000 (18:26 +0100)
IkiWiki/Plugin/editpage.pm

index bb21ed2be486adce4de82dab3076b10a5f8e99ad..e0705249709dbe17f62ee102b1e225f182e00f6e 100644 (file)
@@ -94,8 +94,8 @@ sub cgi_editpage ($$) { #{{{
                error("bad page name");
        }
 
-       my $baseurl=$config{url}."/".htmlpage($page);
-       
+       my $baseurl = urlto($page, undef, 1);
+
        my $from;
        if (defined $form->field('from')) {
                ($from)=$form->field('from')=~/$config{wiki_file_regexp}/;
@@ -152,13 +152,13 @@ sub cgi_editpage ($$) { #{{{
        
        if ($form->submitted eq "Cancel") {
                if ($form->field("do") eq "create" && defined $from) {
-                       redirect($q, "$config{url}/".htmlpage($from));
+                       redirect($q, urlto($from, undef, 1));
                }
                elsif ($form->field("do") eq "create") {
                        redirect($q, $config{url});
                }
                else {
-                       redirect($q, "$config{url}/".htmlpage($page));
+                       redirect($q, urlto($page, undef, 1));
                }
                exit;
        }
@@ -249,7 +249,7 @@ sub cgi_editpage ($$) { #{{{
                                        @page_locs=$page;
                                }
                                else {
-                                       redirect($q, "$config{url}/".htmlpage($page));
+                                       redirect($q, urlto($page, undef, 1));
                                        exit;
                                }
                        }
@@ -417,7 +417,7 @@ sub cgi_editpage ($$) { #{{{
                else {
                        # The trailing question mark tries to avoid broken
                        # caches and get the most recent version of the page.
-                       redirect($q, "$config{url}/".htmlpage($page)."?updated");
+                       redirect($q, urlto($page, undef, 1)."?updated");
                }
        }