projects
/
ikiwiki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
link to alternative implementation
[ikiwiki.git]
/
IkiWiki
/
Plugin
/
editpage.pm
diff --git
a/IkiWiki/Plugin/editpage.pm
b/IkiWiki/Plugin/editpage.pm
index 3d094c263196a7738295f81c8995ce365c5ce091..a5c29a352788b37c70a6a56614e95152d36f069d 100644
(file)
--- a/
IkiWiki/Plugin/editpage.pm
+++ b/
IkiWiki/Plugin/editpage.pm
@@
-227,27
+227,36
@@
sub cgi_editpage ($$) {
$absolute ||
$form->submitted) {
@page_locs=$best_loc=$page;
$absolute ||
$form->submitted) {
@page_locs=$best_loc=$page;
+ unshift @page_locs, lc($page)
+ if ! $form->submitted && lc($page) ne $page;
+ }
+ elsif (lc $page eq lc $config{discussionpage}) {
+ @page_locs=$best_loc=$page="$from/".lc($page);
}
else {
my $dir=$from."/";
$dir=~s![^/]+/+$!!;
if ((defined $form->field('subpage') &&
}
else {
my $dir=$from."/";
$dir=~s![^/]+/+$!!;
if ((defined $form->field('subpage') &&
- length $form->field('subpage')) ||
- $page eq lc($config{discussionpage})) {
+ length $form->field('subpage'))) {
$best_loc="$from/$page";
}
else {
$best_loc=$dir.$page;
}
$best_loc="$from/$page";
}
else {
$best_loc=$dir.$page;
}
+ my $mixedcase=lc($page) ne $page;
+
+ push @page_locs, $dir.lc($page) if $mixedcase;
push @page_locs, $dir.$page;
push @page_locs, $dir.$page;
- push @page_locs, "$from/$page";
+ push @page_locs, $from."/".lc($page) if $mixedcase;
+ push @page_locs, $from."/".$page;
while (length $dir) {
$dir=~s![^/]+/+$!!;
while (length $dir) {
$dir=~s![^/]+/+$!!;
+ push @page_locs, $dir.lc($page) if $mixedcase;
push @page_locs, $dir.$page;
}
push @page_locs, $dir.$page;
}
-
+
my $userpage=IkiWiki::userpage($page);
push @page_locs, $userpage
if ! grep { $_ eq $userpage } @page_locs;
my $userpage=IkiWiki::userpage($page);
push @page_locs, $userpage
if ! grep { $_ eq $userpage } @page_locs;