my $q=shift;
my $session=shift;
- my $attachment=! defined IkiWiki::pagetype($pagesources{$src});
+ my $attachment=! defined pagetype($pagesources{$src});
# Must be a known source file.
if (! exists $pagesources{$src}) {
error($@) if $@;
my $f = CGI::FormBuilder->new(
name => "rename",
- title => sprintf(gettext("rename %s"), IkiWiki::pagetitle($page)),
+ title => sprintf(gettext("rename %s"), pagetitle($page)),
header => 0,
charset => "utf-8",
method => 'POST',
$f->field(name => "do", type => "hidden", value => "rename", force => 1);
$f->field(name => "page", type => "hidden", value => $page, force => 1);
- $f->field(name => "new_name", value => IkiWiki::pagetitle($page), size => 60);
+ $f->field(name => "new_name", value => pagetitle($page), size => 60);
if (!$q->param("attachment")) {
# insert the standard extensions
my @page_types;
$session->param(postrename => scalar $q->Vars);
IkiWiki::cgi_savesession($session);
- my ($f, $buttons)=rename_form($q, $session, $page);
if (defined $attachment) {
- $f->field(name => "attachment", value => $attachment, force => 1);
+ $q->param(-name => "attachment", -value => $attachment);
}
-
+ my ($f, $buttons)=rename_form($q, $session, $page);
IkiWiki::showform($f, $buttons, $session, $q);
exit 0;
} #}}}
# performed in check_canrename later.
my $src=$q->param("page");
my $srcfile=IkiWiki::possibly_foolish_untaint($pagesources{$src});
- my $dest=IkiWiki::possibly_foolish_untaint(IkiWiki::titlepage($q->param("new_name")));
+ my $dest=IkiWiki::possibly_foolish_untaint(titlepage($q->param("new_name")));
my $destfile=$dest;
if (! $q->param("attachment")) {
my $type=$q->param('type');
$type=$ext;
}
- $destfile.=".".$type;
+ $destfile=newpagefile($dest, $type);
}
push @torename, {
src => $src,
# See if any subpages need to be renamed.
if ($q->param("subpages") && $src ne $dest) {
foreach my $p (keys %pagesources) {
- if ($pagesources{$p}=~m/^\Q$src\E\//) {
- my $d=$pagesources{$p};
- $d=~s/^\Q$src\E\//$dest\//;
- push @torename, {
- src => $p,
- srcfile => $pagesources{$p},
- dest => pagename($d),
- destfile => $d,
- required => 0,
- };
- }
+ next unless $pagesources{$p}=~m/^\Q$src\E\//;
+ # If indexpages is enabled, the
+ # srcfile should not be confused
+ # with a subpage.
+ next if $pagesources{$p} eq $srcfile;
+
+ my $d=$pagesources{$p};
+ $d=~s/^\Q$src\E\//$dest\//;
+ push @torename, {
+ src => $p,
+ srcfile => $pagesources{$p},
+ dest => pagename($d),
+ destfile => $d,
+ required => 0,
+ };
}
}