]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/rename.pm
oh, and spamassassin too
[git.ikiwiki.info.git] / IkiWiki / Plugin / rename.pm
index 8387a1e32446753f749887ba5655d23c2dfce462..56dfbd54356ebc167622f739aa31b42b7c01baeb 100644 (file)
@@ -141,7 +141,8 @@ sub rename_form ($$$) {
                my @page_types;
                if (exists $IkiWiki::hooks{htmlize}) {
                        foreach my $key (grep { !/^_/ } keys %{$IkiWiki::hooks{htmlize}}) {
                my @page_types;
                if (exists $IkiWiki::hooks{htmlize}) {
                        foreach my $key (grep { !/^_/ } keys %{$IkiWiki::hooks{htmlize}}) {
-                               push @page_types, [$key, $IkiWiki::hooks{htmlize}{$key}{longname} || $key];
+                               push @page_types, [$key, $IkiWiki::hooks{htmlize}{$key}{longname} || $key]
+                                       unless $IkiWiki::hooks{htmlize}{$key}{nocreate};
                        }
                }
                @page_types=sort @page_types;
                        }
                }
                @page_types=sort @page_types;
@@ -237,7 +238,7 @@ sub postrename ($$$;$$) {
                # on it.
                $oldcgi->param("editcontent",
                        renamepage_hook($dest, $src, $dest,
                # on it.
                $oldcgi->param("editcontent",
                        renamepage_hook($dest, $src, $dest,
-                                $oldcgi->param("editcontent")));
+                               scalar $oldcgi->param("editcontent")));
 
                # Get a new edit token; old was likely invalidated.
                $oldcgi->param("rcsinfo",
 
                # Get a new edit token; old was likely invalidated.
                $oldcgi->param("rcsinfo",
@@ -258,7 +259,7 @@ sub formbuilder (@) {
                my $session=$params{session};
 
                if ($form->submitted eq "Rename" && $form->field("do") eq "edit") {
                my $session=$params{session};
 
                if ($form->submitted eq "Rename" && $form->field("do") eq "edit") {
-                       rename_start($q, $session, 0, $form->field("page"));
+                       rename_start($q, $session, 0, scalar $form->field("page"));
                }
                elsif ($form->submitted eq "Rename Attachment") {
                        my @selected=map { Encode::decode_utf8($_) } $q->param("attachment_select");
                }
                elsif ($form->submitted eq "Rename Attachment") {
                        my @selected=map { Encode::decode_utf8($_) } $q->param("attachment_select");
@@ -297,7 +298,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, Encode::decode_utf8($q->param("page")));
+               my ($form, $buttons)=rename_form($q, $session, Encode::decode_utf8(scalar $q->param("page")));
                IkiWiki::decode_form_utf8($form);
                my $src=$form->field("page");
 
                IkiWiki::decode_form_utf8($form);
                my $src=$form->field("page");
 
@@ -305,13 +306,13 @@ sub sessioncgi ($$) {
                        postrename($q, $session, $src);
                }
                elsif ($form->submitted eq 'Rename' && $form->validate) {
                        postrename($q, $session, $src);
                }
                elsif ($form->submitted eq 'Rename' && $form->validate) {
-                       IkiWiki::checksessionexpiry($q, $session, $q->param('sid'));
+                       IkiWiki::checksessionexpiry($q, $session);
 
                        # These untaints are safe because of the checks
                        # performed in check_canrename later.
                        my $srcfile=IkiWiki::possibly_foolish_untaint($pagesources{$src})
                                if exists $pagesources{$src};
 
                        # These untaints are safe because of the checks
                        # performed in check_canrename later.
                        my $srcfile=IkiWiki::possibly_foolish_untaint($pagesources{$src})
                                if exists $pagesources{$src};
-                       my $dest=IkiWiki::possibly_foolish_untaint(titlepage($form->field("new_name")));
+                       my $dest=IkiWiki::possibly_foolish_untaint(titlepage(scalar $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');
@@ -332,7 +333,7 @@ sub sessioncgi ($$) {
                                IkiWiki::Plugin::attachment::is_held_attachment($src);
                        if ($held) {
                                rename($held, IkiWiki::Plugin::attachment::attachment_holding_location($dest));
                                IkiWiki::Plugin::attachment::is_held_attachment($src);
                        if ($held) {
                                rename($held, IkiWiki::Plugin::attachment::attachment_holding_location($dest));
-                               postrename($q, $session, $src, $dest, $q->param("attachment"))
+                               postrename($q, $session, $src, $dest, scalar $q->param("attachment"))
                                        unless defined $srcfile;
                        }
                        
                                        unless defined $srcfile;
                        }
                        
@@ -438,7 +439,7 @@ sub sessioncgi ($$) {
                                $renamesummary.=$template->output;
                        }
 
                                $renamesummary.=$template->output;
                        }
 
-                       postrename($q, $session, $src, $dest, $q->param("attachment"));
+                       postrename($q, $session, $src, $dest, scalar $q->param("attachment"));
                }
                else {
                        IkiWiki::showform($form, $buttons, $session, $q);
                }
                else {
                        IkiWiki::showform($form, $buttons, $session, $q);