The Blog of Brad
file.pl // File Management
#!/usr/bin/perl -w
#file.pl -- Perl Uploadr by Brad Arsenault
use CGI::Carp qw(fatalsToBrowser);
use DBI;
use Time::HiRes qw(gettimeofday tv_interval);
use Time::gmtime;
require "subs.pl";
$t0 = [gettimeofday];
$tp = "";
&connectDB();
if (length ($ENV{'QUERY_STRING'}) >= 1){
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/, $buffer);
foreach $pair (@pairs){
($name, $value) = split(/=/, $pair);
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$name} = $value;
}
}else{ ##length is 0
$tp .= &setMessage(5);
&printHeader("Empty Request");
print $tp;
&printFooter();
exit;
}
$sc = $in{'sc'};
if (!$sc){
$sc = $in{''};
}
##for getting related information
$msq = "SELECT * FROM files WHERE sc LIKE ? ORDER BY revision DESC";
$qh_f = $dbh->prepare($msq) or die "Couldn't prepare statement: " . $dbh->errstr;
$qh_f ->execute($sc) or die "Couldn't execute: ".$dbh->errstr;
if($qh->rows == 0){
undef $qh_f;
$dbh->disconnect;
&printHeader("No Files Found from: ".$sc);
$tp .= &setMessage(3);
print $tp;
&printFooter();
exit;
}
if($qh_f->rows >= 1){
$i = 0;
$tp .= "
";
$qh_url = $dbh->prepare("SELECT * FROM urls WHERE sc=?");
$qh_u = $dbh->prepare("SELECT * FROM users WHERE id LIKE ?");
$qh_url1 = $dbh->prepare("UPDATE urls SET views='$_urlVC', dlu='$_nowTime' WHERE sc='$r_url{'sc'}");
while ($r = $qh_f->fectrow_hashref()) {
#$qh_u = $dbh->prepare("SELECT * FROM users WHERE id LIKE ?"); // moved before WHILE for speed
$qh_u->execute($r{'user'});
if($qh_u->rows != 1){
&printHeader("Uh Oh!");
$tp .= "
| Filename | Comment | Username | Time/Date | Revison Number | Revise? |
|---|

