Hello all...
PHP Code:
<?php
require_once("backend/functions.php");
require_once("backend/BDecode.php");
require_once("backend/parse.php");
dbconn(false);
set_time_limit(0);
$interval = 800; // Rescrape torrents every x seconds. (Default: 2 days)
$ts = gmtime() - $interval;
$res = mysql_query("SELECT id, info_hash FROM torrents WHERE external = 'yes' AND last_action <= FROM_UNIXTIME($ts) ORDER BY last_action DESC LIMIT 1");
echo "SELECT id, info_hash FROM torrents WHERE external = 'yes' AND last_action <= FROM_UNIXTIME($ts) ORDER BY last_action DESC LIMIT 1";
$count = get_row_count("torrents", "WHERE external = 'yes' AND last_action <= FROM_UNIXTIME($ts)");
while ($row = mysql_fetch_array($res)) {
$tres = mysql_query("SELECT `url` FROM `announce` WHERE `torrent` = $row[id]");
$annlist = array();
while ($trow = mysql_fetch_array($tres)) {
$annlist[] = $trow["url"];
}
$seeders = $leechers = $downloaded = null;
echo "Info_Hash: $row[info_hash]<BR>";
foreach ($annlist as $ann) {
$tracker = explode("/", $ann);
$path = array_pop($tracker);
$oldpath = $path;
$path = preg_replace("/^announce/", "scrape", $path);
$tracker = implode("/", $tracker)."/".$path;
if ($oldpath == $path) {
echo "<BR><B>$ann</B>: Scrape not supported.<BR>";
continue;
}
$stats = torrent_scrape_url($tracker, $row["info_hash"]);
if ($stats['seeds'] != -1) {
$seeders += $stats['seeds'];
$leechers += $stats['peers'];
$downloaded += $stats['downloaded'];
echo "<BR><B>$ann</B><BR>";
echo "Seeders: $stats[seeds]<BR>";
echo "Leechers: $stats[peers]<BR>";
echo "Downloaded: $stats[downloaded]<BR>";
mysql_query("UPDATE `announce` SET `online` = 'yes', `seeders` = $stats[seeds], `leechers` = $stats[peers], `times_completed` = $stats[downloaded] WHERE `url` = ".sqlesc($ann)." AND `torrent` = $row[id]");
} else {
echo "<BR><B>$ann</B>: Tracker timeout.<BR>";
mysql_query("UPDATE `announce` SET `online` = 'no' WHERE `url` = ".sqlesc($ann)." AND `torrent` = $row[id]");
}
}
if ($seeders !== null){
echo "<BR><B>Totals:</B><BR>";
echo "Seeders: $seeders<BR>";
echo"Leechers: $leechers<BR>";
echo "Completed: $downloaded<BR><BR>";
mysql_query("UPDATE torrents SET leechers='".$leechers."', seeders='".$seeders."',times_completed='".$downloaded."',last_action= '".get_date_time()."',visible='yes' WHERE id='".$row['id']."'");
}else{
echo "All trackers timed out.<BR>";
mysql_query("UPDATE torrents SET last_action= '".get_date_time()."' WHERE id='".$row['id']."'");
}
}
?>
<script language="JavaScript">
//Refresh page script- By Brett Taylor (glutnix@yahoo.com.au)
//Modified by Dynamic Drive for NS4, NS6+
//Visit http://www.dynamicdrive.com for this script
//configure refresh interval (in seconds)
<? if ($count)
echo "var countDownInterval=6;";
else
echo "var countDownInterval=900;"; // No torrents to scrape, refresh in 15mins
?>
//configure width of displayed text, in px (applicable only in NS4)
var c_reloadwidth=200
</script>
<ilayer id="c_reload" width=&{c_reloadwidth}; ><layer id="c_reload2" width=&{c_reloadwidth}; left=0 top=0></layer></ilayer>
<script>
var countDownTime=countDownInterval+1;
function countDown(){
countDownTime--;
if (countDownTime <=0){
countDownTime=countDownInterval;
clearTimeout(counter)
window.location.reload()
return
}
if (document.all) //if IE 4+
document.all.countDownText.innerText = countDownTime+" ";
else if (document.getElementById) //else if NS6+
document.getElementById("countDownText").innerHTML=countDownTime+" "
else if (document.layers){ //CHANGE TEXT BELOW TO YOUR OWN
document.c_reload.document.c_reload2.document.write('Next <a href="java script:window.location.reload()">refresh</a> in <b id="countDownText">'+countDownTime+' </b> seconds')
document.c_reload.document.c_reload2.document.close()
}
counter=setTimeout("countDown()", 1000);
}
function startit(){
if (document.all||document.getElementById) //CHANGE TEXT BELOW TO YOUR OWN
document.write('Next <a href="java script:window.location.reload()">refresh</a> in <b id="countDownText">'+countDownTime+' </b> seconds')
countDown()
}
if (document.all||document.getElementById)
startit()
else
window.onload=startit
</script>