Code:
<?
ob_start("ob_gzhandler");
require_once("include/bittorrent.php");
require ("imdb/imdb.class.php");
function getagent($httpagent, $peer_id="")
{
if (preg_match("/^Azureus ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]\_B([0-9][0-9|*])(.+)$)/", $httpagent, $matches))
return "Azureus/$matches[1]";
elseif (preg_match("/^Azureus ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]\_CVS)/", $httpagent, $matches))
return "Azureus/$matches[1]";
elseif (preg_match("/^Java\/([0-9]+\.[0-9]+\.[0-9]+)/", $httpagent, $matches))
return "Azureus/<2.0.7.0";
elseif (preg_match("/^Azureus ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $httpagent, $matches))
return "Azureus/$matches[1]";
elseif (preg_match("/BitTorrent\/S-([0-9]+\.[0-9]+(\.[0-9]+)*)/", $httpagent, $matches))
return "Shadow's/$matches[1]";
elseif (preg_match("/BitTorrent\/U-([0-9]+\.[0-9]+\.[0-9]+)/", $httpagent, $matches))
return "UPnP/$matches[1]";
elseif (preg_match("/^BitTor(rent|nado)\\/T-(.+)$/", $httpagent, $matches))
return "BitTornado/$matches[2]";
elseif (preg_match("/^BitTornado\\/T-(.+)$/", $httpagent, $matches))
return "BitTornado/$matches[1]";
elseif (preg_match("/^BitTorrent\/ABC-([0-9]+\.[0-9]+(\.[0-9]+)*)/", $httpagent, $matches))
return "ABC/$matches[1]";
elseif (preg_match("/^ABC ([0-9]+\.[0-9]+(\.[0-9]+)*)\/ABC-([0-9]+\.[0-9]+(\.[0-9]+)*)/", $httpagent, $matches))
return "ABC/$matches[1]";
elseif (preg_match("/^Python-urllib\/.+?, BitTorrent\/([0-9]+\.[0-9]+(\.[0-9]+)*)/", $httpagent, $matches))
return "BitTorrent/$matches[1]";
elseif (preg_match("/^BitTorrent\/brst(.+)/", $httpagent, $matches))
return "Burst";
elseif (preg_match("/^RAZA (.+)$/", $httpagent, $matches))
return "Shareaza/$matches[1]";
elseif (preg_match("/Rufus\/([0-9]+\.[0-9]+\.[0-9]+)/", $httpagent, $matches))
return "Rufus/$matches[1]";
elseif (preg_match("/^Python-urllib\\/([0-9]+\\.[0-9]+(\\.[0-9]+)*)/", $httpagent, $matches))
return "G3 Torrent";
elseif (preg_match("/MLDonkey\/([0-9]+).([0-9]+).([0-9]+)*/", $httpagent, $matches))
return "MLDonkey/$matches[1].$matches[2].$matches[3]";
elseif (preg_match("/ed2k_plugin v([0-9]+\\.[0-9]+).*/", $httpagent, $matches))
return "eDonkey/$matches[1]";
elseif (preg_match("/uTorrent\/([0-9]+)([0-9]+)([0-9]+)([0-9A-Z]+)/", $httpagent, $matches))
return "uTorrent/$matches[1].$matches[2].$matches[3].$matches[4]";
elseif (preg_match("/CT([0-9]+)([0-9]+)([0-9]+)([0-9]+)/", $peer_id, $matches))
return "cTorrent/$matches[1].$matches[2].$matches[3].$matches[4]";
elseif (preg_match("/Transmission\/([0-9]+).([0-9]+)/", $httpagent, $matches))
return "Transmission/$matches[1].$matches[2]";
elseif (preg_match("/KT([0-9]+)([0-9]+)([0-9]+)([0-9]+)/", $peer_id, $matches))
return "KTorrent/$matches[1].$matches[2].$matches[3].$matches[4]";
elseif (preg_match("/rtorrent\/([0-9]+\\.[0-9]+(\\.[0-9]+)*)/", $httpagent, $matches))
return "rTorrent/$matches[1]";
elseif (preg_match("/^ABC\/Tribler_ABC-([0-9]+\.[0-9]+(\.[0-9]+)*)/", $httpagent, $matches))
return "Tribler/$matches[1]";
elseif (preg_match("/^BitsOnWheels( |\/)([0-9]+\\.[0-9]+).*/", $httpagent, $matches))
return "BitsOnWheels/$matches[2]";
elseif (preg_match("/BitTorrentPlus\/(.+)$/", $httpagent, $matches))
return "BitTorrent Plus!/$matches[1]";
elseif (ereg("^Deadman Walking", $httpagent))
return "Deadman Walking";
elseif (preg_match("/^eXeem( |\/)([0-9]+\\.[0-9]+).*/", $httpagent, $matches))
return "eXeem$matches[1]$matches[2]";
elseif (preg_match("/^libtorrent\/(.+)$/", $httpagent, $matches))
return "libtorrent/$matches[1]";
elseif (substr($peer_id, 0, 12) == "d0c")
return "Mainline";
elseif (substr($peer_id, 0, 1) == "M")
return "Mainline/Decoded";
elseif (substr($peer_id, 0, 3) == "-BB")
return "BitBuddy";
elseif (substr($peer_id, 0, 8) == "-AR1001-")
return "Arctic Torrent/1.2.3";
elseif (substr($peer_id, 0, 6) == "exbc\08")
return "BitComet/0.56";
elseif (substr($peer_id, 0, 6) == "exbc\09")
return "BitComet/0.57";
elseif (substr($peer_id, 0, 6) == "exbc\0:")
return "BitComet/0.58";
elseif (substr($peer_id, 0,4) == "-BC0")
return "BitComet/0.".substr($peer_id,5,2);
elseif (substr($peer_id, 0, 7) == "exbc\0L")
return "BitLord/1.0";
elseif (substr($peer_id, 0, 7) == "exbcL")
return "BitLord/1.1";
elseif (substr($peer_id, 0, 3) == "346")
return "TorrenTopia";
elseif (substr($peer_id, 0, 8) == "-MP130n-")
return "MooPolice";
elseif (substr($peer_id, 0, 8) == "-SZ2210-")
return "Shareaza/2.2.1.0";
elseif (ereg("^0P3R4H", $httpagent))
return "Opera BT Client";
elseif (substr($peer_id, 0, 6) == "A310--")
return "ABC/3.1";
elseif (ereg("^XBT Client", $httpagent))
return "XBT Client";
elseif (ereg("^BitTorrent\/BitSpirit$", $httpagent))
return "BitSpirit";
elseif (ereg("^DansClient", $httpagent))
return "XanTorrent";
else
return "Unknow";
}
function dltable($name, $arr, $torrent)
{
global $CURUSER;
$s = "<b>" . count($arr) . " $name</b>\n";
if (!count($arr))
return $s;
$s .= "\n";
$s .= "<table width=100% class=main border=1 cellspacing=0 cellpadding=5>\n";
$s .= "<tr><td class=colhead>User / IP</td>" .
"<td class=colhead align=center><img src=pic/conect.png></img></td>".
"<td class=colhead align=center><font color=lime>Uploaded</font></td>".
"<td class=colhead align=center><font color=green>Up. Speed</font></td>".
"<td class=colhead align=center><font color=orange>Downlosded</font></td>" .
"<td class=colhead align=center><font color=red>Down. Speed</font></td>" .
"<td class=colhead align=center>Ratio</td>" .
"<td class=colhead align=center>Ready</td>" .
"<td class=colhead align=center>Connected</td>" .
"<td class=colhead align=center>Idle</td>" .
"<td class=colhead align=center>Client</td></tr>\n";
$now = time();
$moderator = (isset($CURUSER) && get_user_class() >= UC_MODERATOR);
$mod = get_user_class() >= UC_MODERATOR;
foreach ($arr as $e) {
// user/ip/port
// check if anyone has this ip
($unr = mysql_query("SELECT username, privacy FROM users WHERE id=$e[userid] ORDER BY last_access DESC LIMIT 1")) or die;
$una = mysql_fetch_array($unr);
if ($una["privacy"] == "strong") continue;
$s .= "<tr>\n";
if (get_user_class() >= UC_MODERATOR)
{
$s .= "<td><a href=userdetails.php?id=$e[userid]><b>$una[username]</b></a><br>" . ($mod ? $e["ip"] : preg_replace('/\.\d+$/', ".xxx", $e["ip"])) . "</td>\n";
}
else
{
$s .= "<td><i>Anonymous</i></td>\n";
}
//if ($una["username"])
//$s .= "<td><a href=userdetails.php?id=$e[userid]><b>$una[username]</b></a></td>\n";
//else
//$s .= "<td>" . ($mod ? $e["ip"] : preg_replace('/\.\d+$/', ".xxx", $e["ip"])) . "</td>\n";
$secs = max(1, ($now - $e["st"]) - ($now - $e["la"]));
$revived = $e["revived"] == "yes";
$s .= "<td align=center>" . ($e[connectable] == "yes" ? "<font color=green>Yes</font>" : "<font color=red>No</font>") . "</td>\n";
$s .= "<td align=center><font color=lime>" . mksize($e["uploaded"]) . "</font></td>\n";
$s .= "<td align=center><nobr><font color=green>" . mksize(($e["uploaded"] - $e["uploadoffset"]) / $secs) . "/s</font></nobr></td>\n";
$s .= "<td align=center><font color=orange>" . mksize($e["downloaded"]) . "</font></td>\n";
if ($e["seeder"] == "no")
$s .= "<td align=center><nobr><font color=red>" . mksize(($e["downloaded"] - $e["downloadoffset"]) / $secs) . "/s</font></nobr></td>\n";
else
$s .= "<td align=center><nobr><font color=red>" . mksize(($e["downloaded"] - $e["downloadoffset"]) / max(1, $e["finishedat"] - $e[st])) . "/s</font></nobr></td>\n";
if ($e["downloaded"])
{
$ratio = floor(($e["uploaded"] / $e["downloaded"]) * 1000) / 1000;
$s .= "<td align=\"center\"><font color=" . get_ratio_color($ratio) . ">" . number_format($ratio, 3) . "</font></td>\n";
}
else
if ($e["uploaded"])
$s .= "<td align=center>Inf.</td>\n";
else
$s .= "<td align=center>---</td>\n";
$s .= "<td align=center>" . sprintf("%.2f%%", 100 * (1 - ($e["to_go"] / $torrent["size"]))) . "</td>\n";
$s .= "<td align=center>" . mkprettytime($now - $e["st"]) . "</td>\n";
$s .= "<td align=center>" . mkprettytime($now - $e["la"]) . "</td>\n";
$s .= "<td align=center>" . htmlspecialchars(getagent($e["agent"], $e["peer_id"])) . "</td>\n";
$s .= "</tr>\n";
}
$s .= "</table>\n";
return $s;
}
dbconn(false);
security_staff();
if ($CURUSER["class"] > 15)
{
stdhead();
stdmsg("FUCK OFF...", "STOP CHEATING MOTHER FUCKER");
stdfoot();
exit;
}
loggedinorreturn();
maxsysop();
$id = 0 + $_GET["id"];
if (!isset($id) || !$id)
die();
$res = mysql_query("SELECT torrents.seeders, torrents.banned, torrents.leechers, torrents.info_hash, torrents.filename, LENGTH(torrents.nfo) AS nfosz, UNIX_TIMESTAMP() - UNIX_TIMESTAMP(torrents.last_action) AS lastseed, torrents.numratings, torrents.name, torrents.description, IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, torrents.owner, torrents.save_as, torrents.allow_comments, torrents.descr, torrents.visible, torrents.size, torrents.added, torrents.views, torrents.hits, torrents.times_completed, torrents.id, torrents.free, torrents.type, torrents.numfiles, torrents.poster, torrents.url, categories.name AS cat_name, users.username, groups.image FROM torrents LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN users ON torrents.owner = users.id LEFT JOIN groups ON users.groups = groups.id WHERE torrents.id = $id")
or sqlerr();
$row = mysql_fetch_array($res);
$owned = $moderator = 0;
if (get_user_class() >= UC_MODERATOR)
$owned = $moderator = 1;
elseif ($CURUSER["id"] == $row["owner"])
$owned = 1;
//}
if (!$row || ($row["banned"] == "yes" && !$moderator))
stderr("Error", "No torrent with ID $id.");
else {
if (get_user_class() >= UC_USER)
if ($_GET["hit"]) {
mysql_query("UPDATE torrents SET views = views + 1 WHERE id = $id");
if ($_GET["tocomm"])
header("Location: $BASEURL/details.php?id=$id&page=0#startcomments");
elseif ($_GET["filelist"])
header("Location: $BASEURL/details.php?id=$id&filelist=1#filelist");
elseif ($_GET["toseeders"])
header("Location: $BASEURL/details.php?id=$id&dllist=1#seeders");
elseif ($_GET["todlers"])
header("Location: $BASEURL/details.php?id=$id&dllist=1#leechers");
else
header("Location: $BASEURL/details.php?id=$id");
exit();
}
// if (!isset($_GET["page"])) {
stdhead("Details for torrent \"" . $row["name"] . "\"");
if ($CURUSER["id"] == $row["owner"] || get_user_class() >= UC_MODERATOR)
$owned = 1;
else
$owned = 0;
$spacer = " ";
if ($_GET["uploaded"]) {
print("<h2>Successfully uploaded!</h2>\n");
print("<p><b>Torrent is changed to tracker standarts</b></p>\n");
print("<p><b>Please redownload torrent and start seeding. <b>Note</b> that the torrent won't be visible until you do that!</p></b>\n");
}
elseif ($_GET["edited"]) {
print("<h2>Successfully edited!</h2>\n");
if (isset($_GET["returnto"]))
print("<p><b>Go back to <a href=\"" . htmlspecialchars($_GET["returnto"]) . "\">whence you came</a>.</b></p>\n");
}
elseif (isset($_GET["searched"])) {
print("<h2>Your search for \"" . htmlspecialchars($_GET["searched"]) . "\" gave a single result:</h2>\n");
}
//elseif ($_GET["rated"]) {
//print("<h2>Rating added!</h2>\n");
//}
elseif ($_GET["thanks"])
print("<h2>Thanks added!</h2>\n");
//-------------------------------------- Banner Mod --------------------------------------//
/*
$Img1 = "$DEFAULTBASEURL/extra/reclama1.png"; // Link pentru imaginea bannerului
$Alt1 = "[advertisement] Google";
$Url1 = "$DEFAULTBASEURL/pub.php"; // Linkul Site-ului
$Img2 = "$DEFAULTBASEURL/extra/reclama2.png"; // Link pentru imaginea bannerului
$Alt2 = "[advertisement] YouTube";
$Url2 = "$DEFAULTBASEURL/pub.php"; // Linkul Site-ului
//----------------------------------------------------------------------------------------//
$total = rand (1,2);
$Image = ${'Img'.$total};
$Alt = ${'Alt' .$total};
$URL = ${'Url'.$total};
*/
//------------------------------------ End Banner Mod ------------------------------------//
$s=$row["name"];
$descrs = $row["description"];
print("<h1>$s</h1>\n");
print("<table width=880 border=\"1\" cellspacing=\"0\" cellpadding=\"5\">\n");
$url = "edit.php?id=" . $row["id"];
if (isset($_GET["returnto"])) {
$addthis = "&returnto=" . urlencode($_GET["returnto"]);
$url .= $addthis;
$keepget .= $addthis;
}
$editlink = "a href=\"$url\"";
// $s = "<b>" . htmlspecialchars($row["name"]) . "</b>";
// if ($owned)
// $s .= " $spacer<$editlink>[Edit torrent]</a>";
// tr("Name", $s, 1);
//=== free download?
if ($row["free"] == "yes")
echo("<h1><center><font size=1 color=#e51905>This torrent is Free, Only upload stats are recorded!</font></center></h1><br>\n");
print("<tr><td class=row width=1%>Download</td><td width=99% align=left><a class=\"index\" href=\"download.php/$id/" . rawurlencode($row["filename"]) . "\">" . htmlspecialchars($row["name"]) . "</a></td></tr>");
if (!empty($row["description"]))
print("<tr><td class=rowhead width=1%>Genre</td><td width=99% align=left>$descrs</td></tr>");
if (!empty($row["poster"]))
tr("<img src=pic/Poster64.png>", "<center><img src='".$row["poster"]."' width=300></center>", 1);
$desc_c = '<div align="center"><font color="#999999">'.str_replace(array(" ", " "), array("<br>\n", " "), format_comment((htmlspecialchars($row["descr"])))).'</font></div>';
if (!empty($row["descr"]))
tr("Description",$desc_c, 1);
// tr("Downloads as", $row["save_as"]);
function hex_esc($matches) {
return sprintf("%02x", ord($matches[0]));
}
//tr("Info hash", preg_replace_callback('/./s', "hex_esc", hash_pad($row["info_hash"])));
// Baner Mod // print("<tr><td class=rowhead>Publicitate</td><td class=rowhead width=750><center><a href=$URL><img align=center src=$Image alt=$Alt></a></center></td></tr>"); //=== BigMax ===//
//------------------------------------------------------------------ Auto iMDB Mod ------------------------------------------------------------------//
if (($row["url"] != "")AND(strpos($row["url"], imdb))AND(strpos($row["url"], title)))
{
$thenumbers = ltrim(strrchr($row["url"],'tt'),'tt');
$thenumbers = ereg_replace("[^A-Za-z0-9]", "", $thenumbers);
$movie = new imdb ($thenumbers);
$movieid = $thenumbers;
$movie->setid ($movieid);
$plot = $movie->plot();
$plotoutline = $movie->plotoutline();
$gen = $movie->genres();
$cast = $movie->cast();
$director = $movie->director();
$write = $movie->writing();
$produce = $movie->producer();
$compose = $movie->composer();
if (($photo_url = $movie->photo_localurl() ) != FALSE) {
$autodata = '<img src="'.$photo_url.'" style="float:left; margin-right:5px;">';
} else {
$autodata = '<img img src="/imdb/images/default.png" style="float:left; margin-right:5px;">';
}
$autodata .= "<strong><a href=\"http://www.imdb.com/title/tt$movieid\"><font size=\"3\" style=\"border-bottom: 1px dotted; text-decoration: none;\">" . "".$movie->title ()."</a></font> <font size=\"3\"><b> " . "(".$movie->year ().")</b></strong></size></font><br />\n";
$autodata .= "<i><font color=\"#999999\"> " . "".$movie->tagline ()."</font></i><br />\n";
$autodata .= "<br />\n<strong> Genres: </strong>";
for ($i = 0; $i + 1 < count($gen); $i++) {
$autodata .= "$gen[$i], ";
}
$autodata .= "$gen[$i]";
$autodata .= "<br /><br />\n<strong> Rating: </strong>" . "".$movie->rating ()." <font size=\"1\"><u> " . "(".$movie->votes ()." votes)</size></u></font><br /><br />\n";
$autodata .= "<strong> Language: </strong>" . "".$movie->language ()."<br />\n";
$autodata .= "<br />\n<strong> Runtime: </strong>" . "".$movie->runtime ()."" . " mins<br /><br /></strong>\n";
if (!empty($plot)) {
$autodata .= "<strong> Plot Outline: </strong><br />\n";
for ($i = 0; $i < count ($plot); $i++) {
$autodata .= "<br />\n<font color=\"red\">[x] </font>";
$autodata .= "$plot[$i]";
$autodata .= "<br></br>\n";
break;
}
}
if (!empty($director)) {
$autodata .= "<strong><font color=\"blue\"> Director: </font></strong>";
for ($i = 0; $i < count ($director); $i++) {
$autodata .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "".$director[$i]["imdb"]."" ."\">" . "".$director[$i]["name"]."" . "</a><br />\n";
}
}
if (!empty($write)) {
$autodata .= "<strong><font color=\"blue\"> Writing By: </font></strong>";
for ($i = 0; $i < count ($write); $i++) {
$autodata .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "".$write[$i]["imdb"]."" ."\">" . "".$write[$i]["name"]."" . "</a> ";
}
}
if (!empty($compose)) {
$autodata .= "<br />\n<strong><font color=\"blue\"> Music: </font></strong>";
for ($i = 0; $i < count($compose); $i++) {
$autodata .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "".$compose[$i]["imdb"]."" ." \">" . "".$compose[$i]["name"]."" . "</a> ";
}
}
?>
<script type="text/javascript">
function imdb_more(imdb_area, imdb_link) {
var imdb_area = get_item(imdb_area);
var imdb_link = get_item(imdb_link);
if (imdb_area.style.display == "") {
imdb_area.style.display = "none";
imdb_link.innerHTML = "More";
eraseCookie("IMDbXz");
} else {
imdb_area.style.display = "";
imdb_link.innerHTML = "Less";
createCookie("IMDbXz", "1", "100");
}
}
function get_item(id){
itm = null;
if (document.getElementById){
itm = document.getElementById(id);
} else if (document.all){
itm = document.all[id];
} else if (document.layers) {
itm = document.layers[id];
}
return itm;
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(365*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
</script>
<?
$smallth .= "<br /><i><a href=\"javascript:imdb_more('imdb_area', 'imdb_link');\"><font style=\"border-bottom: 1px dotted; text-decoration: none; font-size: 7pt; color: grey;\" id=\"imdb_link\">More</font></a></i>\n";
$autodata .= "<br /><br></br><br><div style=\"display:none\" id=\"imdb_area\"><strong> Cast: </strong><br></br>\n";
for ($i = 0; $i < count ($cast); $i++) {
if ($i > 9) {
break;
}
$autodata .= "<font color=\"blue\"></font> " . "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "".$cast[$i]["imdb"]."" ."\">" . "".$cast[$i]["name"]."" . "</a> " . " as <strong><font color=\"orange\">" . "".$cast[$i]["role"]."" . " </font></strong></br>\n";
}
if (!empty($produce)) {
$autodata .= "<br />\n<strong>Produced By: </strong><br></br>";
for ($i = 0; $i < count ($produce); $i++) {
$autodata .= "<a target=\"_blank\" href=\"http://www.imdb.com/name/nm" . "".$produce[$i]["imdb"]."" ." \"><font color=green>" . "".$produce[$i]["name"]."" . "</font></a><br /> ";
}
}
if (!empty($plot)) {
$autodata .= "<br /><strong> Plot: </strong><br />\n";
for ($i = 0; $i < count ($plot); $i++) {
$autodata .= "<br />\n<font color=\"red\">[x] </font>";
$autodata .= "$plot[$i]";
$autodata .= "<br></br>\n";
}
}
tr("IMDb $smallth",$autodata,1);
}
//---------------------------------------------------------------- End Auto iMDB Mod ----------------------------------------------------------------//
if (get_user_class() >= UC_POWER_USER && $row["nfosz"] > 0)
print("<tr><td class=row>NFO</td><td align=left><a href=viewnfo.php?id=$row[id]><b>View NFO</b></a> (" .
mksize($row["nfosz"]) . ")</td></tr>\n");
//if ($row["visible"] == "no")
// tr("Visible", "<b>no</b> (dead)", 1);
//if ($moderator)
// tr("Banned", $row["banned"]);
if (isset($row["cat_name"]))
tr("Type", $row["cat_name"]);
else
tr("Type", "(none selected)");
tr("Last seeder", "Last activity: " . mkprettytime($row["lastseed"]) . " ago");
tr("Size",mksize($row["size"]) . " (" . number_format($row["size"]) . " bytes)");
//======================= Rating torrents =======================//
$s = "";
$s .= "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td valign=\"top\" class=embedded>";
if (!isset($row["rating"])) {
if ($minvotes > 1) {
$s .= "none yet (needs at least $minvotes votes and has got ";
if ($row["numratings"])
$s .= "only " . $row["numratings"];
else
$s .= "none";
$s .= ")";
}
else
$s .= "<img src=pic/0.gif></img> No votes yet";
}
else {
$rpic = ratingpic($row["rating"]);
if (!isset($rpic))
$s .= "invalid?";
else
$s .= "$rpic " . $row["rating"] . " out of 5 with " . $row["numratings"] . " vote(s) total";
}
$s .= "\n";
$s .= "</td><td class=embedded>$spacer</td><td valign=\"top\" class=embedded>";
if (!isset($CURUSER))
$s .= "(<a href=\"login.php?returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&nowarn=1\">Log in</a> to rate it)";
else {
$ratings = array(
5 => "Kewl!",
4 => "Pretty good",
3 => "Decent",
2 => "Pretty bad",
1 => "Sucks!",
);
if (!$owner || $moderator) {
$xres = mysql_query("SELECT rating, added FROM ratings WHERE torrent = $id AND user = " . $CURUSER["id"]);
$xrow = mysql_fetch_array($xres);
if ($xrow)
$s .= "<font color=red>You rated this torrent as \"" . $xrow["rating"] . " - " . $ratings[$xrow["rating"]] . "\"</font>";
else {
$s .= "<form method=\"post\" action=\"takerate.php\"><input type=\"hidden\" name=\"id\" value=\"$id\" />\n";
$s .= "<select name=\"rating\">\n";
$s .= "<option value=\"0\">(add rating)</option>\n";
foreach ($ratings as $k => $v) {
$s .= "<option value=\"$k\">$k - $v</option>\n";
}
$s .= "</select>\n";
$s .= "<input type=\"submit\" value=\"Vote!\" />";
$s .= "</form>\n";
}
}
}
$s .= "</td></tr></table>";
tr("<font size=2; color=yellow>Rating</font>", $s, 1);
//===================== End Rating torrents =====================//
tr("Added", $row["added"]);
tr("Views", $row["views"]);
tr("Hits", $row["hits"]);
tr("<font size=2; color=orangered>Snatched</font>", ("<a href=viewsnatches.php?id=$id>$row[times_completed] time(s)</a> -> <a href=viewsnatches.php?id=$id> <b><font size=2><font color=orangered>Click</font> HERE <font color=orangered>to view Snatches</font></font></b></a>"), 1);
// Totaltraffic mod
$data = mysql_query("SELECT (t.size * t.times_completed + SUM(p.downloaded)) AS data FROM torrents AS t LEFT JOIN peers AS p ON t.id = p.torrent WHERE p.seeder = 'no' AND p.torrent = '$id' AND times_completed > 0 GROUP BY t.id ORDER BY added ASC LIMIT 15") or sqlerr(__FILE__, __LINE__);
$a = mysql_fetch_assoc($data);
$data = mksize($a["data"]) . "";
tr("Totaltraffic", $data);
if ($row["image"]){
print("<tr><td class=row>Team</td><td><img src=\"pic/groups/".$row["image"]."\"></td></tr>\n");
}
$keepget = "";
$uprow = ("<i>Anonymous</i>");
// Check if MODERATOR plus, OWNER or if uploader has Advertise Name set to Yes. If not Display Anonymous
if (get_user_class() >= UC_PREMIUM_UPLOADER) {
$uprow = (isset($row["username"]) ? ("<a href=userdetails.php?id=" . $row["owner"] . "><b>" . htmlspecialchars($row["username"]) . "</b></a>") : "<i>Anonymous</i>"); }
if ($addnam == yes) {
$uprow = (isset($row["username"]) ? ("<a href=userdetails.php?id=" . $row["owner"] . "><b>" . htmlspecialchars($row["username"]) . "</b></a>") : "<i>Anonymous</i>"); }
if ($owned) {
$uprow .= "<br/><div style='margin-top: 5px'><font size=2><$editlink><b><font color=lime>Clic</font> HERE <font color=lime>to edit this torrent</font></b></a></font></div>"; }
tr("Uploader<br/><div style='margin-top: 5px'><font size=2; color=lime>Edit</font></div>", $uprow, 1);
if ($row["type"] == "multi") {
if (!$_GET["filelist"])
tr("Files<br /><a href=\"details.php?id=$id&filelist=1$keepget#filelist\" class=\"sublink\">[See full list]</a>", $row["numfiles"] . " files", 1);
else {
tr("Num files", $row["numfiles"] . " files", 1);
$s = "<table class=main border=\"1\" cellspacing=0 cellpadding=\"5\">\n";
$subres = mysql_query("SELECT * FROM files WHERE torrent = $id ORDER BY id");
$s.="<tr><td class=colhead>Path</td><td class=colhead align=right>Size</td></tr>\n";
while ($subrow = mysql_fetch_array($subres)) {
$s .= "<tr><td>" . $subrow["filename"] .
"</td><td align=\"right\">" . mksize($subrow["size"]) . "</td></tr>\n";
}
$s .= "</table>\n";
tr("<a name=\"filelist\">File list</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[Hide list]</a>", $s, 1);
}
}
if (!$_GET["dllist"]) {
/*
$subres = mysql_query("SELECT seeder, COUNT(*) FROM peers WHERE torrent = $id GROUP BY seeder");
$resarr = array(yes => 0, no => 0);
$sum = 0;
while ($subrow = mysql_fetch_array($subres)) {
$resarr[$subrow[0]] = $subrow[1];
$sum += $subrow[1];
}
tr("Peers<br /><a href=\"details.php?id=$id&dllist=1$keepget#seeders\" class=\"sublink\">[See full list]</a>", $resarr["yes"] . " seeder(s), " . $resarr["no"] . " leecher(s) = $sum peer(s) total", 1);
*/
if (get_user_class() >= UC_USER)
{
tr("Peers<br /><a href=\"details.php?id=$id&dllist=1$keepget#seeders\" class=\"sublink\">[See full list]</a>", $row["seeders"] . " seeder(s), " . $row["leechers"] . " leecher(s) = " . ($row["seeders"] + $row["leechers"]) . " peer(s) total", 1);
}
else {
tr("Peers", $row["seeders"] . " seeder(s), " . $row["leechers"] . " leecher(s) = " . ($row["seeders"] + $row["leechers"]) . " peer(s) total", 1);
}
}
else {
if (get_user_class() >= UC_USER)
{
$downloaders = array();
$seeders = array();
$subres = mysql_query("SELECT seeder, finishedat, downloadoffset, uploadoffset, ip, port, uploaded, downloaded, to_go, UNIX_TIMESTAMP(started) AS st, connectable, agent, peer_id, UNIX_TIMESTAMP(last_action) AS la, userid FROM peers WHERE torrent = $id") or sqlerr();
while ($subrow = mysql_fetch_array($subres)) {
if ($subrow["seeder"] == "yes")
$seeders[] = $subrow;
else
$downloaders[] = $subrow;
}
function leech_sort($a,$b) {
if ( isset( $_GET["usort"] ) ) return seed_sort($a,$b);
$x = $a["to_go"];
$y = $b["to_go"];
if ($x == $y)
return 0;
if ($x < $y)
return -1;
return 1;
}
function seed_sort($a,$b) {
$x = $a["uploaded"];
$y = $b["uploaded"];
if ($x == $y)
return 0;
if ($x < $y)
return 1;
return -1;
}
usort($seeders, "seed_sort");
usort($downloaders, "leech_sort");
tr("<a name=\"seeders\">Seeders</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[Hide list]</a>", dltable("Seeder(s)", $seeders, $row), 1);
tr("<a name=\"leechers\">Leechers</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[Hide list]</a>", dltable("Leecher(s)", $downloaders, $row), 1);
} else {
tr("Peers", $row["seeders"] . " seeder(s), " . $row["leechers"] . " leecher(s) = " . ($row["seeders"] + $row["leechers"]) . " peer(s) total", 1);
}
}
//.torrent file info link
if (get_user_class() >= UC_MODERATOR)
{
tr("Info", "<a href=\"torrent_info.php?id=$id\">See torrent Info</a>", 1);
}
tr("<font color=red>Report</font>", "<font color=red>Click</font> <a href=report.php?type=Torrent&id=$id><b>HERE</b></a> <font color=red>to report this torrent to staff for violation of the rules.</font>", 1);
$torrentid = $_GET["id"];
$thanks_sql = mysql_query("SELECT * FROM thanks where torrentid=$torrentid");
$thanks_all = mysql_numrows($thanks_sql);
if ($thanks_all) {
while($rows_t = mysql_fetch_array($thanks_sql)) {
$thanks_userid = $rows_t["userid"];
$user_sql = mysql_query("SELECT * FROM users where id=$thanks_userid");
$rows_a = mysql_fetch_array($user_sql);
$username_t = $rows_a["username"];
$thanksby = $thanksby."<a href='userdetails.php?id=$thanks_userid'>$username_t</a>, ";
}
$t_userid = $CURUSER["id"];
$tsql = mysql_query("SELECT COUNT(*) FROM thanks where torrentid=$torrentid and userid=$t_userid");
$trows = mysql_fetch_array($tsql);
$t_ab = $trows[0];
if ($t_ab == "0") {
$thanksby = $thanksby." <form action=\"thanks.php\" method=\"post\">
<input type=\"submit\" name=\"submit\" value=\"Thanks!\">
<input type=\"hidden\" name=\"torrentid\" value=\"$torrentid\">
</form>";
}
else {
$thanksby = $thanksby." <form action=\"thanks.php\" method=\"post\">
<input type=\"submit\" name=\"submit\" value=\"Thanks!\" disabled>
<input type=\"hidden\" name=\"torrentid\" value=\"$torrentid\">
</form>";
}
}
else {
$thanksby = "None yet.
<form action=\"thanks.php\" method=\"post\">
<input type=\"submit\" name=\"submit\" value=\"Thanks!\">
<input type=\"hidden\" name=\"torrentid\" value=\"$torrentid\">
</form>
";
}
tr("<font color=royalblue>Thanks by:</font>",$thanksby,1);
print("</table></p>\n");
print ("<br><table width=750 border=1 cellspacing=1 class=coltable cellpadding=5>
<tr><td class=colhead align=center>
<font size=3; color=red>Reguli obligatorii pentru comentarii:</font><hr>
<b><font size=2 color=royalblue>- Se accepta numai comentarii civilizate scrise in limba Romana sau Engleza , restul vor fi sterse.</font></b><br>
<b><font size=2 color=royalblue>- Limbajul vulgar sau <u>reclama la alte site-uri</u> se sanctioneaza cu </font><font size=2 color=red> Warn </font><font size=2 color=royalblue> si in cazuri grave cu </font><font size=2 color=red> Disable. </font></b><br>
<hr><font size=2 color=red><b>Cine nu respecta aceste reguli simple risca sa-si piarda definitiv dreptul de a mai posta comentarii.</b></font>
</td></tr></table>");
print("<p><a name=\"startcomments\"></a></p>\n");
$quickcomment = "<table style='padding:0px;border:0px;'><tr>".
"<form name=comment method=\"post\" action=\"comment.php?action=add\">".
"<textarea name=\"text\" rows=\"9\" cols=\"100\"></textarea>".
"<input type=\"hidden\" name=\"tid\" value=\"$id\"/><br />".
"<br><center><input type=\"submit\" class=btn value=\"Submit\" /></center><br />".
"</form></td></tr></table>";
$subres = mysql_query("SELECT COUNT(*) FROM comments WHERE torrent = $id");
$subrow = mysql_fetch_array($subres);
$count = $subrow[0];
if (!$count) {
}
else {
list($pagertop, $pagerbottom, $limit) = pager(20, $count, "details.php?id=$id&", array(lastpagedefault => 1));
$subres = mysql_query("SELECT comments.id, text, user, comments.added, editedby, editedat, avatar, warned, ".
"username, title, class, donor, downloaded, uploaded FROM comments LEFT JOIN users ON comments.user = users.id WHERE torrent = " .
"$id ORDER BY comments.id $limit") or sqlerr(__FILE__, __LINE__);
$allrows = array();
while ($subrow = mysql_fetch_array($subres))
$allrows[] = $subrow;
print($commentbar);
print($pagertop);
commenttable($allrows);
print($pagerbottom);
}
if ($row["allow_comments"] == "yes" || get_user_class() >= UC_PREMIUM_UPLOADER) {
print($commentbar);
print($quickcomment);
}
else {
print("<br><p align=center><b><font color=red>You are not able to comment on this torrent.</font></b></p>");
}
}
if (get_user_class() < UC_VIP) {
?>
<script type="text/javascript" src="js/details.js"></script>
<div id="fadeinboxxx" style="filter:progid:DXImageTransform.Microsoft.RandomDissolve(duration=1) ; -moz-opacity:0">
<div align="center" style="margin-bottom: 5px"><img src="pic/addvert/details.png" /></div>
<script type="text/javascript"><!--
google_ad_client = "pub-7799194761289905";
/* 300x250 */
google_ad_slot = "9984006544";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<?
}
stdfoot();
?>