upload.pl
changeset 9 d2c21ec59758
parent 7 62de1ff671d7
child 10 1e7562ad30da
equal deleted inserted replaced
8:5b2cdc42bc61 9:d2c21ec59758
    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       ),