From: joey Date: Tue, 14 Mar 2006 06:19:16 +0000 (+0000) Subject: fix two bugs in page location in new page creation X-Git-Tag: 1.0~363 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=b26de7676bf5d787172e97842e264ad5b1748bad;p=ikiwiki.git fix two bugs in page location in new page creation --- diff --git a/ikiwiki b/ikiwiki index 53a86c1ed..1c16b6725 100755 --- a/ikiwiki +++ b/ikiwiki @@ -1020,26 +1020,31 @@ sub cgi_editpage ($$) { #{{{ } my @page_locs; + my $best_loc; my ($from)=$form->param('from')=~/$config{wiki_file_regexp}/; if (! defined $from || ! length $from || $from ne $form->param('from') || $from=~/$config{wiki_file_prune_regexp}/ || $from=~/^\//) { - @page_locs=$page; + @page_locs=$best_loc=$page; } else { my $dir=$from."/"; $dir=~s![^/]+/$!!; push @page_locs, $dir.$page; push @page_locs, "$from/$page"; + $best_loc="$from/$page"; while (length $dir) { $dir=~s![^/]+/$!!; push @page_locs, $dir.$page; } + + @page_locs = grep { ! exists + $pagesources{lc($_)} } @page_locs; } $form->tmpl_param("page_select", 1); $form->field(name => "page", type => 'select', - options => \@page_locs); + options => \@page_locs, value => $best_loc); $form->title("creating $page"); } elsif ($form->field("do") eq "edit") {