aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2011-07-18 18:41:37 +0200
committerintrigeri <intrigeri@boum.org>2011-07-18 18:41:37 +0200
commit739554622fa1caa6bcc0474ebbdcd9db3627389d (patch)
tree1c7e85d06c593d3314b94477b2102dac01ba97eb /IkiWiki/Plugin
parentf5c8fca8875e2ad76134c15bc7717ccd21cb2e18 (diff)
parent98d2356ad0e1c3bbd823ab17fb51eaa794b26713 (diff)
downloadikiwiki-739554622fa1caa6bcc0474ebbdcd9db3627389d.tar
ikiwiki-739554622fa1caa6bcc0474ebbdcd9db3627389d.tar.gz
Merge commit '3.20110715' into prv/po
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/attachment.pm8
-rw-r--r--IkiWiki/Plugin/remove.pm3
-rw-r--r--IkiWiki/Plugin/rename.pm4
3 files changed, 8 insertions, 7 deletions
diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm
index d8e2f6271..fd4096edf 100644
--- a/IkiWiki/Plugin/attachment.pm
+++ b/IkiWiki/Plugin/attachment.pm
@@ -273,11 +273,13 @@ sub attachments_save {
my $dir=attachment_holding_location($form->field('page'));
foreach my $filename (glob("$dir/*")) {
next unless -f $filename;
- my $dest=$config{srcdir}."/".
+ my $destdir=$config{srcdir}."/".
linkpage(IkiWiki::possibly_foolish_untaint(
- attachment_location($form->field('page')))).
- IkiWiki::basename($filename);
+ attachment_location($form->field('page'))));
+ my $destfile=IkiWiki::basename($filename);
+ my $dest=$destdir.$destfile;
unlink($dest);
+ IkiWiki::prep_writefile($destfile, $destdir);
rename($filename, $dest);
push @attachments, $dest;
}
diff --git a/IkiWiki/Plugin/remove.pm b/IkiWiki/Plugin/remove.pm
index b94447020..14ac01c9b 100644
--- a/IkiWiki/Plugin/remove.pm
+++ b/IkiWiki/Plugin/remove.pm
@@ -120,10 +120,9 @@ sub removal_confirm ($$@) {
# Special case for unsaved attachments.
foreach my $page (@pages) {
- if (IkiWiki::Plugin::attachment->can("is_held_attachment")) {
+ if ($attachment && IkiWiki::Plugin::attachment->can("is_held_attachment")) {
my $f=IkiWiki::Plugin::attachment::is_held_attachment($page);
if (defined $f) {
- print STDERR "!! remove $f\n";
require IkiWiki::Render;
IkiWiki::prune($f);
}
diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm
index aa1081756..8e32d41ae 100644
--- a/IkiWiki/Plugin/rename.pm
+++ b/IkiWiki/Plugin/rename.pm
@@ -184,7 +184,7 @@ sub rename_start ($$$$) {
my $held=$attachment &&
IkiWiki::Plugin::attachment->can("is_held_attachment") &&
IkiWiki::Plugin::attachment::is_held_attachment($page);
- if (! defined $held) {
+ if (! $held) {
check_canrename($page, $pagesources{$page}, undef, undef,
$q, $session);
}
@@ -322,7 +322,7 @@ sub sessioncgi ($$) {
my $held=$q->param("attachment") &&
IkiWiki::Plugin::attachment->can("is_held_attachment") &&
IkiWiki::Plugin::attachment::is_held_attachment($src);
- if (defined $held) {
+ if ($held) {
rename($held, IkiWiki::Plugin::attachment::attachment_holding_location($dest));
postrename($session, $src, $dest, $q->param("attachment"))
unless defined $srcfile;