rendered paste body<?php
//CHANGES
// got rid of bandwidth update, not needed due to download limit per day!
// change this value below
//db_connections etc.
mysql_query("CREATE TABLE IF NOT EXISTS `downloaded` (
`fid` int(10) NOT NULL auto_increment,
`fname` varchar(200) collate latin1_general_ci NOT NULL,
`fdate` varchar(150) collate latin1_general_ci NOT NULL,
`fpath` varchar(150) collate latin1_general_ci NOT NULL,
`filesize` varchar(150) collate latin1_general_ci NOT NULL,
`userip` varchar(15) NOT NULL,
PRIMARY KEY (`fid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
//Setup variables
$path = addslashes($_SERVER['REQUEST_URI']);
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$userip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else {
$userip = $_SERVER['REMOTE_ADDR'];
}
$fullPath = $_SERVER['DOCUMENT_ROOT'].$path;
$fname = basename($fullPath);
$filesize = filesize($fname);
$fdate = time();
//Intially false
$dl = false;
//Edit from here: (IBIET) download limit (no. of links within 24 hrs!)
$dl_limit_perday = 50;
$l_limit = time() - 60*60*24;
$arr = mysql_fetch_array("SELECT COUNT (*) FROM downloaded WHERE fdate > '$l_limit' AND userip = '$userip'");
$rows = $arr[0];
if ($rows == 0) {
mysql_query("INSERT INTO downloaded (fname, fdate, fpath, filesize, userip) VALUES ('$fname', '$fdate', '$fullPath', '$filesize', '$userip')");
$dl = true;
}
else {
$link_downloaded = $rows;
//$link_downloaded = get_num_rows($l);
//$link_downloaded = ($link_downloaded) ? $link_downloaded : 0;
if ($link_downloaded >= intval($dl_limit_perday)) {
print("<h1>Error!</h1><br />");
print("<span style='color:#688000; background-color:#BBDB54; font-size : 10pt; text-decoration: none; font-family: Trebuchet MS;'>You have downloaded $link_downloaded/{$dl_limit_perday} links already.</span><br />");
}
$dl = false;
}
if ($dl) {
if ($fd = fopen ($fullPath, "r")) {
header('Content-type: application/octet-stream');
header('Content-Disposition: filename="'.$fname.'"');
header('Content-length: '.filesize($fullPath));
header('Cache-control: private');
while(!feof($fd)) {
$buffer = fread($fd, 2048);
echo $buffer;
}
fclose ($fd);
exit;
}
else {
header('HTTP/1.0 503 Service Unavailable');
die('Abort, you reached your download limit for this file.');
}
}
?>