#!/usr/bin/perl -w
use strict;
use CGI;
use DBI;
use CGI::Carp qw(fatalsToBrowser);
my $upload_dir = "/home/local/upload";
my $query = new CGI;
my $filename = $query->param("filename");
my $to = $query->param("to");
my $from = $query->param("from");
my $expire = $query->param("expire");
my $comments = $query->param("comments");
my $uldate = time;
my $expdate;
if ($expire !~m/^(1|2|3|4|5|6|7|8|9|10|11|12|13|14)$/)
{
print "Content-type: text/html\n\nDon't tamper with me!";
die;
}
if ($expire eq 1) {$expdate = $uldate + 86400;}
if ($expire eq 2) {$expdate = $uldate + 172800;}
if ($expire eq 3) {$expdate = $uldate + 259200;}
$filename =~ s/.*[\/\\](.*)/$1/;
##Start database connections###############################
my $database = "databox";
my $db_server = "localhost";
my $user = "user";
my $password = "pass";
##Connect to database, insert statement, & disconnect #####
my $sth;
my $dbh = DBI->connect("DBI:mysql:$database:$db_server",$user,$password);
my $statement = "INSERT INTO databox (filename,data_to,data_from,comments,uldate,expdate) VALUES (?,?,?,?,?,?)";
$sth = $dbh->prepare($statement) or die "Couldn't prepare the query: ".$DBI::errstr;
my $rv = $sth->execute($filename,$to,$from,$comments,$uldate,$expdate) or die "Couldn't execute query: ".$DBI::errstr;
$sth->finish;
$dbh->disconnect;
###########################################################
my $upload_filehandle = $query->upload("filename");
open UPLOADFILE, ">$upload_dir/$uldate";
binmode UPLOADFILE;
while ( <$upload_filehandle> )
{
print UPLOADFILE;
}
close UPLOADFILE;
####
my $upload_filehandle = $query->upload("filename");
open UPLOADFILE, ">$upload_dir/$uldate";
binmode UPLOADFILE;
while ( <$upload_filehandle> )
{
print UPLOADFILE;
}
##
##
my $upload_filehandle = $query->upload("filename");
open UPLOADFILE, ">$upload_dir/$uldate";
binmode UPLOADFILE;
my $x = deflateInit()
or die "Cannot create a deflation stream\n" ;
my ($output, $status) ;
while ( <$upload_filehandle> )
{
($output, $status) = $x->deflate($upload_filehandle) ;
$status == Z_OK
or die "deflation failed\n" ;
print UPLOADFILE;
}