X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/8619faaa8b01c4675be8d2c53d5d96f9c5d3fa16..e2cb19ed9e107d89251655232649a6d2eb9c187b:/IkiWiki/Plugin/attachment.pm diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm index f4bfbe98f..7f88010b5 100644 --- a/IkiWiki/Plugin/attachment.pm +++ b/IkiWiki/Plugin/attachment.pm @@ -274,11 +274,12 @@ sub attachment_list ($) { my $page=shift; my $loc=attachment_location($page); - my @ret; + # attachments already in the wiki + my %attachments; foreach my $f (values %pagesources) { if (! defined pagetype($f) && $f=~m/^\Q$loc\E[^\/]+$/) { - push @ret, { + $attachments{$f}={ "field-select" => '', link => htmllink($page, $page, $f, noimageinline => 1), size => IkiWiki::Plugin::filecheck::humansize((stat($f))[7]), @@ -287,10 +288,25 @@ sub attachment_list ($) { }; } } + + # attachments in holding directory + my $dir=attachment_holding_dir($page); + foreach my $file (glob("$dir/*")) { + my $mtime=(stat($file))[9]; + my $f=IkiWiki::basename($file); + $attachments{$f}={ + "field-select" => '', + link => $f, # no link possible + size => IkiWiki::Plugin::filecheck::humansize((stat($file))[7]), + mtime => displaytime($mtime), + mtime_raw => $mtime, + } + } # Sort newer attachments to the top of the list, so a newly-added # attachment appears just before the form used to add it. - return sort { $b->{mtime_raw} <=> $a->{mtime_raw} || $a->{link} cmp $b->{link} } @ret; + return sort { $b->{mtime_raw} <=> $a->{mtime_raw} || $a->{link} cmp $b->{link} } + values %attachments; } 1