]> git.sesse.net Git - webpdf/blob - last.pl
e668edfb799a4ab85a41a10dd19661e2531646b5
[webpdf] / last.pl
1 #! /usr/bin/perl
2 use CGI;
3 use HTML::Entities;
4 use POSIX;
5 use strict;
6 use warnings;
7 require './config.pm';
8
9 my $num_last = 20;
10
11 # Find the latest N PNG thumbnails. Somewhat ineffective, but I assume 
12 # we'll get to that later :-)
13 my @thumbnails = (sort { -M $a <=> -M $b } <$pdfweb::config::outputdir/*.png>);
14 my $real_num_last = scalar @thumbnails;
15 if ($real_num_last > $num_last) {
16         $real_num_last = $num_last;
17 }
18
19 # Sorry, no HTML templating. I didn't want to pull in yet another
20 # dependency :-)
21
22 print <<"EOF";
23 Content-type: text/html; charset=utf-8
24
25 <?xml version="1.0" encoding="UTF-8" ?>
26 <!DOCTYPE
27   html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
28   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
29 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
30   <head>
31     <title>PDF converter : sesse.net</title>
32     <link rel="stylesheet" href="http://www.sesse.net/sesse.css" type="text/css" />
33     <link rel="stylesheet" href="pdfweb.css" type="text/css" />
34     <link rev="made" href="mailto:sgunderson\@bigfoot.com" />
35     <meta name="MSSmartTagsPreventParsing" content="TRUE" />
36   </head>
37   <body>
38     <h1>Last $real_num_last uploads</h1>
39     
40     <p><a href="http://pdf.sesse.net/">Back to the converter</a></p>
41 EOF
42
43 for my $t (@thumbnails[0..$num_last-1]) {
44         (my $descname = $t) =~ s/\.png$/.desc/;
45         open DESC, "<$descname"
46                 or next;
47         chomp (my $desc = <DESC>);
48         close DESC;
49
50         if (length($desc) > 30) {
51                 $desc = substr $desc, 0, 30;
52         }
53         $desc = HTML::Entities::encode_entities($desc);
54
55         my $time = (stat($t))[9];
56         my $date = POSIX::strftime("%Y-%m-%d %H:%M", localtime($time));
57         $t =~ s#^.*/##;
58         (my $pdfname = $t) =~ s/\.png$//;
59
60         print <<"EOF";
61 <div class="pdfthumbnail">
62   <p class="thumb"><a href="output/$pdfname"><img src="output/$t" alt="PDF thumbnail" /></a></p>
63   <p class="desc">$desc</p>
64   <p class="date">$date</p>
65 </div>
66 EOF
67 }
68
69 print <<"EOF";
70
71     <p class="copyright">Web PDF converter, &copy; 2005 <a href="http://www.sesse.net/">Steinar H. Gunderson</a>.</p>
72   </body>
73 </html> 
74 EOF