use warnings;
require './config.pm';
-my $num_last = 20;
-
# Find the latest N PNG thumbnails. Somewhat ineffective, but I assume
# we'll get to that later :-)
my @thumbnails = (sort { -M $a <=> -M $b } <$pdfweb::config::outputdir/*.png>);
-my $real_num_last = scalar @thumbnails;
-if ($real_num_last > $num_last) {
- $real_num_last = $num_last;
+my $real_show_last = scalar @thumbnails;
+if ($real_show_last > $pdfweb::config::show_last) {
+ $real_show_last = $pdfweb::config::show_last;
+}
+
+# This is probably the simplest place to clean up files that we no longer
+# need having around.
+for my $t (@thumbnails[$pdfweb::config::show_last..$#thumbnails]) {
+ if (-M $t > $pdfweb::config::minimum_age) {
+ (my $base = $t) =~ s/\.png$//;
+ my @to_delete = <$base*>;
+
+ warn "Deleting " . join(', ', @to_delete);
+ unlink @to_delete;
+ }
}
# Sorry, no HTML templating. I didn't want to pull in yet another
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
</head>
<body>
- <h1>Last $real_num_last uploads</h1>
+ <h1>Last $real_show_last uploads</h1>
<p><a href="http://pdf.sesse.net/">Back to the converter</a></p>
EOF
-for my $t (@thumbnails[0..$num_last-1]) {
+for my $t (@thumbnails[0..$pdfweb::config::show_last-1]) {
(my $descname = $t) =~ s/\.png$/.desc/;
open DESC, "<$descname"
or next;
close DESC;
if (length($desc) > 30) {
- $desc = substr $desc, 0, 30;
+ # Is this <abbr> abuse?
+ $desc = HTML::Entities::encode_entities(substr($desc, 0, 30)) . " <abbr title=\"" .
+ HTML::Entities::encode_entities($desc)
+ . "\">...</abbr>";
+ } else {
+ $desc = HTML::Entities::encode_entities($desc);
}
- $desc = HTML::Entities::encode_entities($desc);
my $time = (stat($t))[9];
my $date = POSIX::strftime("%Y-%m-%d %H:%M", localtime($time));