working uploading
git-svn-id: http://yolanda.mister-muffin.de/svn@21 7eef14d0-6ed0-489d-bf55-20463b2d70db
This commit is contained in:
parent
ccd3c6ab07
commit
51f2d96a27
2 changed files with 57 additions and 10 deletions
|
@ -51,3 +51,30 @@ sub get_username_from_sid {
|
||||||
#return
|
#return
|
||||||
return $username;
|
return $username;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#return a username from passed session id
|
||||||
|
sub get_userid_from_sid {
|
||||||
|
#get parameters
|
||||||
|
my ($sid) = @_;
|
||||||
|
|
||||||
|
#connect to db
|
||||||
|
my $dbh = DBI->connect("DBI:mysql:$database:$dbhost", $dbuser, $dbpass) or die $dbh->errstr;
|
||||||
|
|
||||||
|
#prepare query
|
||||||
|
my $sth = $dbh->prepare(qq{select id from users where sid = '$sid'}) or die $dbh->errstr;
|
||||||
|
|
||||||
|
#execute it
|
||||||
|
$sth->execute() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#save the resulting username
|
||||||
|
my ($username) = $sth->fetchrow_array() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#finish query
|
||||||
|
$sth->finish() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#close db
|
||||||
|
$dbh->disconnect() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#return
|
||||||
|
return $username;
|
||||||
|
}
|
||||||
|
|
|
@ -8,34 +8,54 @@ $session = new CGI::Session;
|
||||||
sub hook {
|
sub hook {
|
||||||
#this is going to become an ajax progress bar
|
#this is going to become an ajax progress bar
|
||||||
my ($filename, $buffer, $bytes_read, $data) = @_;
|
my ($filename, $buffer, $bytes_read, $data) = @_;
|
||||||
print $ENV{'CONTENT_LENGTH'};
|
#print $ENV{'CONTENT_LENGTH'};
|
||||||
print sha256_hex($buffer);
|
#print sha256_hex($buffer);
|
||||||
#open(TEMP, ">>/var/www/perl/videos/temp.temp") or die "cannot open";
|
#open(TEMP, ">>/var/www/perl/videos/temp.temp") or die "cannot open";
|
||||||
print "Read $bytes_read bytes of $filename\n";
|
#print "Read $bytes_read bytes of $filename\n";
|
||||||
#close TEMP;
|
#close TEMP;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $username = get_username_from_sid($session->id);
|
my $userid = get_userid_from_sid($session->id);
|
||||||
|
|
||||||
if($username) {
|
if($userid) {
|
||||||
#connect to db
|
#connect to db
|
||||||
my $dbh = DBI->connect("DBI:mysql:$database:$host", $dbuser, $dbpass) or die $dbh->errstr;
|
my $dbh = DBI->connect("DBI:mysql:$database:$host", $dbuser, $dbpass) or die $dbh->errstr;
|
||||||
|
|
||||||
#save POST data in local variables
|
#save POST data in local variables
|
||||||
my $title = $query->param("title");
|
my $title = $query->param("title");
|
||||||
|
|
||||||
|
#video status:
|
||||||
|
# 0 - fresh upload - needs conversion
|
||||||
|
# 1 - successfully converted
|
||||||
|
# 2 - error: was not a valid video/format
|
||||||
|
# 3 - error: video is a duplicate
|
||||||
#do query
|
#do query
|
||||||
$dbh->do(qq{insert into videos (title, username) values ('$title', '$username')}) or die $dbh->errstr;
|
$dbh->do(qq{insert into videos (title, userid, status) values ('$title', '$userid', 0)}) or die $dbh->errstr;
|
||||||
|
|
||||||
my $filename = $query->param("file");
|
#prepare query
|
||||||
my $title = $query->param("title");
|
my $sth = $dbh->prepare(qq{select last_insert_id() }) or die $dbh->errstr;
|
||||||
|
|
||||||
|
#execute it
|
||||||
|
$sth->execute() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#save the resulting username
|
||||||
|
my ($id) = $sth->fetchrow_array() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#finish query
|
||||||
|
$sth->finish() or die $dbh->errstr;
|
||||||
|
|
||||||
|
#save uploaded file into temppath
|
||||||
$upload_filehandle = $query->upload("file");
|
$upload_filehandle = $query->upload("file");
|
||||||
print $session->header();
|
open(TEMPFILE, ">/var/www/perl/tmp/$id") or die "cannot open";
|
||||||
while ( <$upload_filehandle> )
|
while ( <$upload_filehandle> )
|
||||||
{
|
{
|
||||||
print;
|
print TEMPFILE;
|
||||||
}
|
}
|
||||||
|
close TEMPFILE;
|
||||||
|
|
||||||
|
print $session->header();
|
||||||
|
print "passt";
|
||||||
|
print $id;
|
||||||
|
|
||||||
#disconnect db
|
#disconnect db
|
||||||
$dbh->disconnect() or die $dbh->errstr;
|
$dbh->disconnect() or die $dbh->errstr;
|
||||||
|
|
Loading…
Reference in a new issue