From b26de7676bf5d787172e97842e264ad5b1748bad Mon Sep 17 00:00:00 2001 From: joey Date: Tue, 14 Mar 2006 06:19:16 +0000 Subject: [PATCH] fix two bugs in page location in new page creation --- ikiwiki | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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") {