83 } |
83 } |
84 |
84 |
85 } |
85 } |
86 print hr; |
86 print hr; |
87 |
87 |
88 #print "<pre>", |
88 if (my @files = glob "$DIR/*-*/*") { |
89 #(map { "$_: $ENV{$_}\n" } sort keys %ENV), |
|
90 #"</pre>"; |
|
91 |
89 |
92 print p <<__; |
90 #print "<pre>", |
93 Der gültige Download-Link ist die Link-Adresse, die sich hinter |
91 #(map { "$_: $ENV{$_}\n" } sort keys %ENV), |
94 dem Datei-Namen verbirgt. (Firefox: Rechte Maustaste, Link-Location). |
92 #"</pre>"; |
|
93 |
|
94 print p <<__; |
|
95 Der gültige Download-Link ist die Link-Adresse, die sich hinter |
|
96 dem Datei-Namen verbirgt. (Firefox: Rechte Maustaste, Link-Location). |
95 __ |
97 __ |
96 |
98 |
97 print start_table, Tr(th { align => "left" }, [qw/name size date expires/]); |
99 print start_table, Tr(th { align => "left" }, [qw/name size date expires/]); |
98 |
100 |
99 foreach (map { /(.*)/ } sort { -M $a <=> -M $b } glob "$DIR/*-*/*") { |
101 foreach (map { /(.*)/ } sort { -M $a <=> -M $b } glob "$DIR/*-*/*") { |
100 my ($file, $dir) = fileparse($_); |
102 my ($file, $dir) = fileparse($_); |
101 $dir = basename $dir; |
103 $dir = basename $dir; |
102 |
104 |
103 # $dir =~ /(?<hash>\S+)-(?<expires>\d+)$/ or next; |
105 # $dir =~ /(?<hash>\S+)-(?<expires>\d+)$/ or next; |
104 $dir =~ /(\S+)-(\d+)$/ or next; |
106 $dir =~ /(\S+)-(\d+)$/ or next; |
105 my $hash = $1; |
107 my $hash = $1; |
106 my $expires = $2; |
108 my $expires = $2; |
107 if (${expires} <= time) { |
109 if (${expires} <= time) { |
108 /(.*)/; |
110 /(.*)/; |
109 unlink $_ or die "Can't unlik $_: $!\n"; |
111 unlink $_ or die "Can't unlik $_: $!\n"; |
110 rmdir $dir or die "Can't rmdir $dir: $!\n"; |
112 rmdir $dir or die "Can't rmdir $dir: $!\n"; |
111 next; |
113 next; |
112 } |
114 } |
113 |
115 |
114 print Tr( |
116 print Tr( |
115 td(a { href => "$DIR_URI/$dir/$file" }, $file), |
117 td(a { href => "$DIR_URI/$dir/$file" }, $file), |
116 td({ align => "right" }, (stat $_)[7]), |
118 td({ align => "right" }, (stat $_)[7]), |
117 td(scalar localtime +(stat $_)[9]), |
119 td(scalar localtime +(stat $_)[9]), |
118 td(scalar localtime ${expires}), |
120 td(scalar localtime ${expires}), |
119 td(a({ href => "?delete=$dir" }, "remove")) |
121 td(a({ href => "?delete=$dir" }, "remove")) |
120 ); |
122 ); |
121 } |
123 } |
122 |
124 |
123 print end_table, hr; |
125 print end_table, hr; |
|
126 } |
124 |
127 |
125 print start_multipart_form, start_table, |
128 print start_multipart_form, start_table, |
126 Tr(td("Dateiname: "), |
129 Tr(td("Dateiname: "), |
127 td(filefield(-name => "upload", -default => "nothing")), |
130 td(filefield(-name => "upload", -default => "nothing")), |
128 ), |
131 ), |