All pastes #801214 Raw Edit

Stuff

public text v1 · immutable
#801214 ·published 2007-11-29 02:35 UTC
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.');
}
}
?>