From a61849e95496027d07c38219d5cc47fe37b5aa25 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 14 Jun 2011 15:07:34 -0400 Subject: [PATCH] bugfix for attachments of non-index pages --- IkiWiki/Plugin/attachment.pm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm index c6f8891c2..ea40379ff 100644 --- a/IkiWiki/Plugin/attachment.pm +++ b/IkiWiki/Plugin/attachment.pm @@ -295,17 +295,25 @@ sub attachment_list ($) { my $page=shift; my $loc=attachment_location($page); + my $std=sub { + my $file=shift; + my $mtime=shift; + my $size=shift; + + "field-select" => '', + size => IkiWiki::Plugin::filecheck::humansize($size), + mtime => displaytime($mtime), + mtime_raw => $mtime, + }; + # attachments already in the wiki my %attachments; foreach my $f (values %pagesources) { if (! defined pagetype($f) && $f=~m/^\Q$loc\E[^\/]+$/) { $attachments{$f}={ - "field-select" => '', + $std->($f, $IkiWiki::pagemtime{$f}, (stat($f))[7]), link => htmllink($page, $page, $f, noimageinline => 1), - size => IkiWiki::Plugin::filecheck::humansize((stat($f))[7]), - mtime => displaytime($IkiWiki::pagemtime{$f}), - mtime_raw => $IkiWiki::pagemtime{$f}, }; } } @@ -315,13 +323,11 @@ sub attachment_list ($) { my $heldmsg=gettext("this attachment is not yet saved"); foreach my $file (glob("$dir/*")) { my $mtime=(stat($file))[9]; - my $f=IkiWiki::basename($file); + my $f=$file; + $f=~s/^\Q$dir\E\///; $attachments{$f}={ - "field-select" => '', + $std->($page."/".$f, (stat($file))[9], (stat($file))[7]), link => "$f", - size => IkiWiki::Plugin::filecheck::humansize((stat($file))[7]), - mtime => displaytime($mtime), - mtime_raw => $mtime, } }