upload.pl
changeset 14 5a22524e7261
parent 13 0996f1a07114
child 15 38a3e4aa59c0
equal deleted inserted replaced
13:0996f1a07114 14:5a22524e7261
    24 use strict;
    24 use strict;
    25 use warnings;
    25 use warnings;
    26 use CGI qw(:all *table);
    26 use CGI qw(:all *table);
    27 use CGI::Carp qw(fatalsToBrowser);
    27 use CGI::Carp qw(fatalsToBrowser);
    28 use CGI::Pretty;
    28 use CGI::Pretty;
    29 use IO::File;
       
    30 use File::Basename;
    29 use File::Basename;
    31 use Digest::MD5 qw(md5_hex);
    30 use Digest::MD5 qw(md5_hex);
    32 use OSSP::uuid;
    31 use OSSP::uuid;
    33 
    32 
    34 my $DIR     = "d/{view}";
    33 my $DIR     = "d/{view}";
    35 my $DIR_URI = "/$DIR";
    34 my $DIR_URI = url(-absolute => 1) . "/$DIR";
    36 
    35 
    37 sub human($);
    36 sub human($);
    38 
    37 
    39 delete @ENV{ grep /PATH/, keys %ENV };
    38 delete @ENV{ grep /PATH/, keys %ENV };
    40 $ENV{PATH} = "/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin";
    39 $ENV{PATH} = "/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin";
    66         exit 0;
    65         exit 0;
    67     }
    66     }
    68 
    67 
    69     print header(-charset => "UTF-8"),
    68     print header(-charset => "UTF-8"),
    70       start_html(-title => "Up&Down"),
    69       start_html(-title => "Up&Down"),
    71       h1 "Ansicht: $ENV{REMOTE_USER}";
    70       h1("Ansicht: $ENV{REMOTE_USER}"),
       
    71 	  "dir: ", url(-absolute => 1);
    72 
    72 
    73     # print Dump;
    73     # print Dump;
    74 
    74 
    75     if (length(my $file = param("upload"))) {
    75     if (length(my $file = param("upload"))) {
    76         my $days = param("expires");
    76         my $days = param("expires");
    87         $filename =~ /(.*)/;
    87         $filename =~ /(.*)/;
    88         $filename = $1;
    88         $filename = $1;
    89 
    89 
    90         my $dir = "$DIR/$uuid-$expires";
    90         my $dir = "$DIR/$uuid-$expires";
    91         mkdir $dir, 0750 or die "Can't mkdir $dir: $!\n";
    91         mkdir $dir, 0750 or die "Can't mkdir $dir: $!\n";
    92         my $outfh = new IO::File ">$dir/$filename"
    92         open(my $outfh, ">", "$dir/$filename")
    93           or die "Can't create $dir/$filename: $!\n";
    93           or die "Can't create $dir/$filename: $!\n";
    94         print {$outfh} <$file>;
    94         print {$outfh} <$file>;
    95 
    95 
    96         if (my $atfh = new IO::File("|at now + $days days")) {
    96         if (open(my $atfh, "|-", "at now + $days days")) {
    97             print {$atfh}
    97             print {$atfh}
    98               "rm -f \"$dir/$filename\"\n",
    98               "rm -f \"$dir/$filename\"\n",
    99               "rmdir \"$dir\"\n";
    99               "rmdir \"$dir\"\n";
   100             close $atfh;
   100             close $atfh;
   101             system("cat /tmp/log");
   101 			#system("cat /tmp/log");
   102         }
   102         }
   103 
   103 
   104     }
   104     }
   105     print hr;
   105     print hr;
   106 
   106