projects
/
ikiwiki.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add section information
[ikiwiki.git]
/
IkiWiki
/
Plugin
/
rename.pm
diff --git
a/IkiWiki/Plugin/rename.pm
b/IkiWiki/Plugin/rename.pm
index 8dad92be3e8794c2ef09ed4a518f814fb49be2a5..3908443cabd720bdd644d37c1ebbc8731b1b1035 100644
(file)
--- a/
IkiWiki/Plugin/rename.pm
+++ b/
IkiWiki/Plugin/rename.pm
@@
-18,6
+18,7
@@
sub getsetup () {
plugin => {
safe => 1,
rebuild => 0,
plugin => {
safe => 1,
rebuild => 0,
+ section => "web",
},
}
},
}
@@
-137,14
+138,16
@@
sub rename_form ($$$) {
# insert the standard extensions
my @page_types;
if (exists $IkiWiki::hooks{htmlize}) {
# insert the standard extensions
my @page_types;
if (exists $IkiWiki::hooks{htmlize}) {
- @page_types=grep { !/^_/ }
- keys %{$IkiWiki::hooks{htmlize}};
+ foreach my $key (grep { !/^_/ } keys %{$IkiWiki::hooks{htmlize}}) {
+ push @page_types, [$key, $IkiWiki::hooks{htmlize}{$key}{longname} || $key];
+ }
}
}
+ @page_types=sort @page_types;
# make sure the current extension is in the list
my ($ext) = $pagesources{$page}=~/\.([^.]+)$/;
if (! $IkiWiki::hooks{htmlize}{$ext}) {
# make sure the current extension is in the list
my ($ext) = $pagesources{$page}=~/\.([^.]+)$/;
if (! $IkiWiki::hooks{htmlize}{$ext}) {
- unshift(@page_types,
$ext
);
+ unshift(@page_types,
[$ext, $ext]
);
}
$f->field(name => "type", type => 'select',
}
$f->field(name => "type", type => 'select',
@@
-233,6
+236,7
@@
sub formbuilder (@) {
if (defined $form->field("do") && ($form->field("do") eq "edit" ||
$form->field("do") eq "create")) {
if (defined $form->field("do") && ($form->field("do") eq "edit" ||
$form->field("do") eq "create")) {
+ IkiWiki::decode_form_utf8($form);
my $q=$params{cgi};
my $session=$params{session};
my $q=$params{cgi};
my $session=$params{session};
@@
-240,7
+244,7
@@
sub formbuilder (@) {
rename_start($q, $session, 0, $form->field("page"));
}
elsif ($form->submitted eq "Rename Attachment") {
rename_start($q, $session, 0, $form->field("page"));
}
elsif ($form->submitted eq "Rename Attachment") {
- my @selected=$q->param("attachment_select");
+ my @selected=
map { Encode::decode_utf8($_) }
$q->param("attachment_select");
if (@selected > 1) {
error(gettext("Only one attachment can be renamed at a time."));
}
if (@selected > 1) {
error(gettext("Only one attachment can be renamed at a time."));
}
@@
-276,7
+280,7
@@
sub sessioncgi ($$) {
if ($q->param("do") eq 'rename') {
my $session=shift;
if ($q->param("do") eq 'rename') {
my $session=shift;
- my ($form, $buttons)=rename_form($q, $session,
$q->param("page"
));
+ my ($form, $buttons)=rename_form($q, $session,
Encode::decode_utf8($q->param("page")
));
IkiWiki::decode_form_utf8($form);
if ($form->submitted eq 'Cancel') {
IkiWiki::decode_form_utf8($form);
if ($form->submitted eq 'Cancel') {
@@
-288,9
+292,9
@@
sub sessioncgi ($$) {
# These untaints are safe because of the checks
# performed in check_canrename later.
# These untaints are safe because of the checks
# performed in check_canrename later.
- my $src=$
q->param
("page");
+ my $src=$
form->field
("page");
my $srcfile=IkiWiki::possibly_foolish_untaint($pagesources{$src});
my $srcfile=IkiWiki::possibly_foolish_untaint($pagesources{$src});
- my $dest=IkiWiki::possibly_foolish_untaint(titlepage($
q->param
("new_name")));
+ my $dest=IkiWiki::possibly_foolish_untaint(titlepage($
form->field
("new_name")));
my $destfile=$dest;
if (! $q->param("attachment")) {
my $type=$q->param('type');
my $destfile=$dest;
if (! $q->param("attachment")) {
my $type=$q->param('type');
@@
-478,7
+482,7
@@
sub renamepage_hook ($$$$) {
return $content;
}
return $content;
}
-sub rename_hook
(@)
{
+sub rename_hook {
my %params = @_;
my @torename=@{$params{torename}};
my %params = @_;
my @torename=@{$params{torename}};