PHP Code:
<?
//
// H-Tracker v0.2
// http://h-tracker.org
// Based on TorrentTrader (http://www.torrenttrader.org)
//
//
require_once("backend/functions.php");
require_once("backend/BDecode.php") ;
require_once("backend/parse.php") ;//replace with parse later
dbconn();
parked();
$torrent_dir = $site_config["torrent_dir"];
$nfo_dir = $site_config["nfo_dir"];
//check permissions
if ($site_config["MEMBERSONLY"]){
loggedinonly();
if($CURUSER["view_torrents"]=="no")
show_error_msg("Error","You do not have permission to view torrents",1);
}
//************ DO SOME "GET" STUFF BEFORE PAGE LAYOUT ***************
$id = (int) $_GET["id"];
$scrape = (int)$_GET["scrape"];
if (!is_valid_id($id))
show_error_msg("ERROR","Thats not a valid ID",1);
//GET ALL MYSQL VALUES FOR THIS TORRENT
$res = mysql_query("SELECT torrents.anon, torrents.seeders, torrents.vip, torrents.thanks, torrents.banned, torrents.nuked, torrents.tube, torrents.leechers, torrents.info_hash, torrents.filename, torrents.nfo, torrents.last_action, torrents.numratings, torrents.name, torrents.owner, torrents.save_as, torrents.descr, torrents.visible, torrents.size, torrents.added, torrents.views, torrents.hits, torrents.times_completed, torrents.id, torrents.type, torrents.external, torrents.image1, torrents.image2, torrents.announce, torrents.numfiles, torrents.freeleech, IF(torrents.numratings < 2, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, torrents.numratings, categories.name AS cat_name, torrentlang.name AS lang_name, torrentlang.image AS lang_image, torrentage.name AS age_name, torrentage.image AS age_image, categories.parent_cat as cat_parent, users.username, users.privacy FROM torrents LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN torrentlang ON torrents.torrentlang = torrentlang.id LEFT JOIN torrentage ON torrents.torrentage = torrentage.id LEFT JOIN users ON torrents.owner = users.id WHERE torrents.id = $id") or die(mysql_error());
$row = mysql_fetch_array($res);
$vip = $row["vip"];
$vips = $row["vip"];
if ($vip == "y") {
$vip = "<b>Yes</b>";
} else {
$vip = "<b>No</b>";
}
//DECIDE IF TORRENT EXISTS
if (!$row || ($row["banned"] == "yes" && !$moderator))
show_error_msg("Error","" . TORRENT_NOT_FOUND . "",1);
//torrent is availiable so do some stuff
if ($_GET["hit"]) {
mysql_query("UPDATE torrents SET views = views + 1 WHERE id = $id");
header("Location: torrents-details.php?id=$id");
die;
}
stdhead("Details for torrent \"" . $row["name"] . "\"");
if ($CURUSER["id"] == $row["owner"])
$owned = 1;
else
$owned = 0;
if ($CURUSER["edit_torrents"]=="yes")
$owned = 1;
//take rating
if ($_GET["takerating"] == 'yes'){
$rating = (int)$_POST['rating'];
if ($rating <= 0 || $rating > 5)
show_error_msg("Rating Error", "Invalid rating",1);
$res = mysql_query("INSERT INTO ratings (torrent, user, rating, added) VALUES ($id, " . $CURUSER["id"] . ", $rating, '".get_date_time()."')");
if (!$res) {
if (mysql_errno() == 1062)
show_error_msg("Rating Error", "You have already rated this torrent.",1);
else
show_error_msg("Rating Error", "A Unknown Error, contact staff",1);
}
mysql_query("UPDATE torrents SET numratings = numratings + 1, ratingsum = ratingsum + $rating WHERE id = $id");
autolink("torrents-details.php?id=$id", "Thank you for rating this torrent...");
}
//take comment add
if ($_GET["takecomment"] == 'yes'){
loggedinonly();
if (!($CURUSER['comment_count'] < $CURUSER['comment_max']))
show_error_msg("Notice","You have reached your Comment limit. Please wait 10 minutes before retrying.");
$commentbody = $_POST['body'];
if (!$commentbody)
show_error_msg("Error","You did not enter anything!",1);
mysql_query("UPDATE torrents SET comments = comments + 1 WHERE id = $id") or die(mysql_error());
mysql_query("UPDATE users SET comment_count = comment_count + 1 WHERE id = $id") or die(mysql_error());
mysql_query("INSERT INTO comments (user, torrent, added, text) VALUES (".$CURUSER["id"].", ".$id.", '" .get_date_time(). "', " . sqlesc($body).")") or die(mysql_error());
if (mysql_affected_rows() == 1)
autolink("torrents-details.php?id=$id", "Your Comment was added successfully");
else
show_error_msg("Error","Unable to add comment",0);
}//end insert comment
//START OF PAGE LAYOUT HERE
$char1 = 55; //cut length
$shortname = CutName(htmlspecialchars($row["name"]), $char1);
begin_frame("" . TORRENT_DETAILS_FOR . " \"" . $shortname . "\"");
if ($owned)
$edittorrent = "<a href=torrents-edit.php?id=$row[id]><img src=\"".$site_config["SITEURL"]."/images/torrents/edit.gif\" border=\"0\" alt=\"Edit Torrent\"></a>";
// Calculate local torrent speed test
if ($row["leechers"] >= 1 && $row["seeders"] >= 1 && $row["external"]!='yes'){
$speedQ = mysql_query("SELECT (SUM(p.downloaded)) / (UNIX_TIMESTAMP('".get_date_time()."') - UNIX_TIMESTAMP(added)) AS totalspeed FROM torrents AS t LEFT JOIN peers AS p ON t.id = p.torrent WHERE p.seeder = 'no' AND p.torrent = '$id' GROUP BY t.id ORDER BY added ASC LIMIT 15") or die(mysql_error());
$a = mysql_fetch_assoc($speedQ);
$totalspeed = mksize($a["totalspeed"]) . "/s";
}else{
$totalspeed = "---";
}
echo "<FIELDSET><LEGEND>Status</LEGEND>";
echo "<CENTER>";
if ($row["banned"] == "yes"){
print ("<CENTER><B>" . DOWNLOAD . ": </B>BANNED!</CENTER>");
if ($vip == '<b>Yes</b>' && get_user_class($CURSER) < 3) {
print("<tr><td align=right><b><u><font class=leechers>VIP torrent!</b></font></td></tr>");
}
}else{
if ($site_config["AGEON"] && $CURUSER["class"] <=3){
if ($CURUSER["age"] < $row["age_name"]){
$torrentage = "<a href=\"" . $site_config['SITEURL'] . "/images/torrents/novideo.jpg\" rel=\"ibox\"><img border=\"0\"src=\"" . $site_config['SITEURL'] . "/images/torrents/age/" . $row["age_image"] . "\" alt=\"Age Required :" . $row["age_name"] . " + \" /></a>";
}else{
$torrentage = "<a href=\"download.php?id=$id&name=" . rawurlencode($row["filename"]) . "\"><img border=\"0\"src=\"" . $site_config['SITEURL'] . "/images/torrents/age/" . $row["age_image"] . "\" alt=\"Age Required :" . $row["age_name"] . " + \" /></a>";
}
}else{
$torrentage = "<a href=\"download.php?id=$id&name=" . rawurlencode($row["filename"]) . "\"><img border=\"0\"src=\"" . $site_config['SITEURL'] . "/images/torrents/age/" . $row["age_image"] . "\" alt=\"Age Required :" . $row["age_name"] . " + \" /></a>";
}
print("<table border=0 cellspacing=0 cellpadding=0 width=98%>");
print("<tr><td class=rowTabHead><b>" . HEALTH . ":</b></td>
<td class=rowTabHead><img src=".$site_config['SITEURL']."/images/torrents/seeders.png border=\"0\" alt=\"" . SEEDS . "\"></td>
<td class=rowTabHead><img src=".$site_config['SITEURL']."/images/torrents/leechers.png border=\"0\" alt=\"" . LEECH . "\"></td>");
if ($row["external"]!='yes'){
print("<td class=rowTabHead><b>Speed:</b></td>");
}
print("<td class=rowTabHead><img src=".$site_config['SITEURL']."/images/torrents/completed.png border=\"0\" alt=\"" . COMPLETED . "\"></td></td>");
if ($row["external"]!='yes' && $row["seeders"] <= 1 && $row["times_completed"] > 0){ //if local and completed
print("<td class=rowTabHead><b>Who's Completed?</b></td>");
}
if ($row["external"]!='yes' && $row["freeleech"]=='1'){
print("<td class=rowTabHead><b>Free Leech:</b></td>");
}
if ($row["external"]!='yes' && $vips == "y") {
print("<td class=rowTabHead><b>VIP torrent: </b></td>");
}
print("<td class=rowTabHead><b>Last Checked:</b></td>");
if ($row["external"]=='yes'){
if ($scrape =='1'){
if ($seeders1 != -1){
print("<td class=rowTabHead><b>Tracked:</b></td>");
}else{
print("<td class=rowTabHead><b>Live StaTus:</b></td>");
}
print("<td class=rowTabHead><b>Live StaTus:</b></td>");
}else{
print("<td class=rowTabHead><b>Tracked:</b></td>");
}
}
print("<tr><td class=status width=80 height=35><div class=progressBar>".health($row["leechers"], $row["seeders"])."</div></td>");
print("<td class=status><font class=seeders>" . $row["seeders"] . "</font></td>");
print("<td class=status><font class=leechers>" . $row["leechers"] . "</font></td>");
if ($row["external"]!='yes'){
print("<td class=status>" . $totalspeed . "</td>");
}
print("<td class=status>" . $row["times_completed"] . "</td>");
if ($row["external"]!='yes' && $row["seeders"] <= 1 && $row["times_completed"] > 0){ //if local and completed
print("<td class=status><a href=torrents-completed.php?id=$id>View</a> <a href=torrents-reseed.php?id=$id>Request A Re-Seed</a></td>");
}
if ($row["external"]!='yes' && $row["freeleech"]=='1'){
print("<td class=status><font class=error>This torrent is freeleech so only upload counts!</font></font></td>");
}
if ($row["external"]!='yes' && $vips == "y") {
print("<td class=status><font class=error>This torrent is for VIP members only!</font></td>");
}
print("<td class=status>" . date("d-m-Y H:i:s", utc_to_tz_time($row["last_action"])) . "</td>");
if ($row["external"]=='yes'){
if ($scrape =='1'){
print("<td class=status>EXTERNAL</td>\n");
$tracker=str_replace("/announce","/scrape",$row['announce']);
$stats = torrent_scrape_url($tracker, $row["info_hash"]);
$seeders1 = strip_tags($stats['seeds']);
$leechers1 = strip_tags($stats['peers']);
$downloaded1 = strip_tags($stats['downloaded']);
if ($seeders1 != -1){ //only update stats if data is received
print("<td class=status>");
print ("Seeders: ".$seeders1."<BR>");
print ("Leechers: ".$leechers1."<BR>");
print ("Completed: ".$downloaded1."<BR>\n");
print ("<form action=torrents-details.php?id=$id&scrape=1 method=post><input type=\"submit\" name=\"submit\" value=\"Update Stats\"></td></form></tr>");
mysql_query("UPDATE torrents SET leechers='".$leechers1."', seeders='".$seeders1."',times_completed='".$downloaded1."',last_action= '".get_date_time()."',visible='yes' WHERE id='".$row['id']."'");
}else{
print("<td>");
print ("<font class=error>Tracker Timeout<BR>Please retry later</font><BR><form action=torrents-details.php?id=$id&scrape=1 method=post><input type=\"submit\" name=\"submit\" value=\"Update Stats\"></td></form></tr>");
}
}else{
print("<td class=status><div align=left>EXTERNAL <form action=torrents-details.php?id=$id&scrape=1 method=post><input type=\"submit\" name=\"submit\" value=\"Update Stats\"></td></form></tr>\n");
}
print ("<tr><td colspan=4 class=status align=center>Tracker:<br><font class=seeders> ".$row['announce']."</font>");
//read torrent info
$TorrentInfo = array();
$TorrentInfo = ParseTorrent("$torrent_dir/$id.torrent");
$annlist = $TorrentInfo[6];
$filelist = $TorrentInfo[8];
if (count($annlist)){
echo "</td><td colspan=4 class=status align=center>Backup trackers:";
foreach ($annlist as $alist) {
echo "<br>";
echo "<font class=leechers>".$alist[0]."</font>";
}
echo"</td>";
}
}
}
print ("<tr><td colspan=8 class=rowEnd></td></tr>");
echo "</div></td></tr></table></CENTER></FIELDSET><BR>";
//end download box
$ads = ads();
if ($ads){
echo "<FIELDSET><LEGEND>Advertising</LEGEND>";
echo"<div class=tablebg style=\"padding:10px;\">".$ads."</div>";
echo "</FIELDSET>";
}
echo "<BR><FIELDSET><LEGEND>Details</LEGEND>";
echo "<table cellpadding=3 border=0 width=95%>";
print("<table border=1 cellspacing=0 cellpadding=6 width=100%>");
print("<tr><td width=90 class=table_col2><b>" . NAME . ":</b></td><td class=table_col1>" . $shortname . "</td></tr>\n");
print("<tr><td class=table_col2 >Actions:</b></td><td class=table_col1>$torrentage <a href=report.php?torrent=$id><img src=\"".$site_config["SITEURL"]."/images/torrents/report.gif\" border=\"0\" alt=\"Report this torrent\"></a> ".$edittorrent."</td></tr>\n");
print("<tr><td class=table_col2><b>Description:</b></td><td class=table_col1><div class=\"description\"><table>" . format_comment($row['descr']) . "</table></div></td></tr>\n");
print("<tr><td class=table_col2><b>" . TTYPE . ":</b></td><td class=table_col1>" . $row["cat_parent"] . " > " . $row["cat_name"] . "</td></tr>\n");
if (empty($row["lang_name"])) $row["lang_name"] = "Unknown/NA";
print("<tr><td align=left class=table_col2><b>Language:</b></td><td class=table_col1>" . $row["lang_name"] . "\n");
if (isset($row["lang_image"]) && $row["lang_image"] != "")
print(" <img border=\"0\"src=\"" . $site_config['SITEURL'] . "/images/languages/" . $row["lang_image"] . "\" alt=\"" . $row["lang_name"] . "\" />");
print("</td></tr>");
print("<tr><td class=table_col2><b>" . TOTAL_SIZE . ":</b></td><td class=table_col1>" . mksize($row["size"]) . " </td></tr>\n");
print("<tr><td class=table_col2><b>" . INFO_HASH . ":</b></td><td class=table_col1>" . $row["info_hash"] . "</td></tr>\n");
print("");
$UClass=@mysql_fetch_array(@mysql_query("SELECT * FROM users JOIN groups ON users.class=groups.group_id WHERE users.id='$row[owner]'"));
$user = "<font color=\"$UClass[Color]\">$row[username]</font>";
if ($row["anon"] == "yes" && !$owned)
print("<tr><td class=table_col2><b>" . ADDED_BY . ":</b></td><td class=table_col1>Anonymous</td></tr>");
elseif ($user)
print("<tr><td class=table_col2><b>" . ADDED_BY . ":</b></td><td class=table_col1><a href=account-details.php?id=" . $row["owner"] . ">" . $user . "</a> <a title=\"Respect\" href=\"simpaty.php?action=add&good&targetid=".$row["owner"]."&type=torrent".$id."\"><img src=\"images/thum_good.gif\" border=\"0\" alt=\"Respect\" title=\"Respect\" /></a> <a href=\"simpaty.php?action=add&bad&targetid=".$row["owner"]."&type=torrent".$id."\" title=\"Anti-Respect\"><img src=\"images/thum_bad.gif\" border=\"0\" alt=\"Anti-Respect\" title=\"Anti-Respect\" /></a></td></tr>");
else
print("<tr><td class=table_col2><b>" . ADDED_BY . ":</b></td><td class=table_col1>Unknown</td></tr>");
print("<tr><td class=table_col2><b>" . DATE_ADDED . ":</b></td><td class=table_col1>" . date("d-m-Y H:i:s", utc_to_tz_time($row["added"])) . "</td></tr>\n");
print("<tr><td class=table_col2><b>" . VIEWS . ":</b></td><td class=table_col1>" . $row["views"] . "</td></tr>\n");
print("<tr><td class=table_col2><b>" . HITS . ":</b></td><td class=table_col1>" . $row["hits"] . "</td></tr>\n");
print("<tr><td class=table_col2><b>" . Nuked . ":</b></td><td class=table_col1>" . $row["nuked"] . "</td></tr>\n");
if ($site_config["AGEON"] && $CURUSER["class"] <=3){
if ($CURUSER["age"] < $row["age_name"]){
$torrentube = "<a href=\"" . $site_config['SITEURL'] . "/images/torrents/novideo.jpg\" rel=\"ibox\">Watch The trailer</a>";
} else{
$torrentube = "<a href=". str_replace("watch?v=", "v/", htmlspecialchars($row["tube"])) ." rel=\"ibox\">Watch The trailer</a>";
}
}else{
$torrentube = "<a href=". str_replace("watch?v=", "v/", htmlspecialchars($row["tube"])) ." rel=\"ibox\">Watch The trailer</a>";
}
if (!empty($row["tube"]))
print ("<tr><td class=table_col2><b>" . Youtube . ": </b></td><td class=table_col1>$torrentube</td></tr>");
$thanksl = explode(",", $row['thanks']);
if ($CURUSER['username'] == $row['username'] || !$CURUSER) $leftthanks = true;
foreach ($thanksl as $u) {
$thanks .= ($i>0)?", $u":$u;
if ($u == $CURUSER['username']) $leftthanks = true;
$i++;
}
if (!$thanks) $thanks = "No one yet.";
print("<tr><td class=table_col2><b>Thanks By:</b></td><td class=table_col1>$thanks\n");
if (!$leftthanks) print(" <form action=thanks.php method=POST><input type=hidden name=torrent value=$id><input type=submit value='Thanks!'></form></td></tr>\n");
// $srating IS RATING VARIABLE
$srating = "";
$srating .= "<tr><td class=\"table_col2\">Rating:</td><td class=table_col1>";
if (!isset($row["rating"])) {
$srating .= "Not Yet Rated";
}else{
$rpic = ratingpic($row["rating"]);
if (!isset($rpic))
$srating .= "invalid?";
else
$srating .= "$rpic (" . $row["rating"] . " out of 5) " . $row["numratings"] . " users have rated this torrent";
}
$srating .= "\n";
if (!isset($CURUSER))
$srating .= "(<a href=\"account-login.php?returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&nowarn=1\">Log in</a> to rate it)";
else {
$ratings = array(
5 => "Cool!",
4 => "Pretty good",
3 => "Decent",
2 => "Pretty bad",
1 => "Sucks!",
);
//if (!$owned || $moderator) {
$xres = mysql_query("SELECT rating, added FROM ratings WHERE torrent = $id AND user = " . $CURUSER["id"]);
$xrow = mysql_fetch_array($xres);
if ($xrow)
$srating .= "<BR><i>(You rated this torrent as \"" . $xrow["rating"] . " - " . $ratings[$xrow["rating"]] . "\")</i>";
else {
$srating .= "<form style=display:inline; method=\"post\" action=\"torrents-details.php?id=$id&takerating=yes\"><input type=\"hidden\" name=\"id\" value=\"$id\" />\n";
$srating .= "<select name=\"rating\">\n";
$srating .= "<option value=\"0\">(Add Rating)</option>\n";
foreach ($ratings as $k => $v) {
$srating .= "<option value=\"$k\">$k - $v</option>\n";
}
$srating .= "</select>\n";
$srating .= "<input type=\"submit\" value=\"Vote!\" />";
$srating .= "</form>\n";
}
//}
}
$srating .= "</NOBR></td></tr>";
print("<CENTER>". $srating . "</CENTER>");// rating
//END DEFINE RATING VARIABLE
echo "</table></FIELDSET>";
echo "<BR>";
if ($row["image1"] != "" OR $row["image2"] != "") {
if ($row["image1"] != "")
$img1 = "<a href='".$site_config["SITEURL"]."/uploads/images/$row[image1]' rel='ibox'><IMG src=".$site_config["SITEURL"]."/uploads/images/$row[image1] width=\"150\" height=\"150\" border=0 alt=\"Click to enlarge\"></a>";
if ($row["image2"] != "")
$img2 = "<a href='".$site_config["SITEURL"]."/uploads/images/$row[image2]' rel='ibox'><IMG src=".$site_config["SITEURL"]."/uploads/images/$row[image2] width=\"150\" height=\"150\" border=0 alt=\"Click to enlarge\"></a>";
print("<CENTER>". $img1 . "  " . $img2."</CENTER><BR>");
}
echo "<FIELDSET><LEGEND>File List: <img src='images/plus.gif' id='pic1' onclick='klappe_torrent(1)'><div id='k1' style='display: none;'></LEGEND><table align=center cellpadding=0 cellspacing=0 class=table_table width=95%><TR><TD class=table_head align=left> File</TD><TD width=50 class=table_head> Size</td></tr>";
if ($row["numfiles"] > 1){
foreach ($filelist as $file) {
$dir = '';
$size = $file["length"];
$count = count($file["path"]);
for ($i=0; $i<$count;$i++) {
if (($i+1) == $count)
$fname = $dir.$file["path"][$i];
else
$dir .= $file["path"][$i]."/";
}
$char1 = 65; //cut name length
$smallname = CutName(htmlspecialchars($fname), $char1);
echo "<TR><td class=table_col2>$smallname</td><TD class=table_col2>".mksize($size)."</td></tr>";
}
}else{
echo "<TR><td class=table_col2>".$row["name"]."</td><TD class=table_col1>".mksize($row["size"])."</td></tr>";
}
echo "<TR><td class=table_end colspan=2></td></tr>";
echo "</table></div></FIELDSET>";
if ($row["external"]!='yes'){
echo "<br><FIELDSET><LEGEND>Peers List: <img src='images/plus.gif' id='pic2' onclick='klappe_torrent(2)'><div id='k2' style='display: none;'></LEGEND>";
$query = mysql_query("SELECT * FROM peers WHERE torrent = $id ORDER BY seeder DESC");
$result = mysql_num_rows($query);
if($result == 0) {
echo "No Active Peers\n";
}else{
?>
<table align=center cellpadding="3" cellspacing="0" class="table_table" width="98%">
<tr>
<td class="table_head">Port</td>
<?
print("<td class=\"table_head\"><div align=center><img src=\"/images/torrents/uploaded.png\" border=\"0\" alt=\"Uploaded\"></div></td>");
print("<td class=\"table_head\"><div align=center><img src=\"/images/torrents/downloaded.png\" border=\"0\" alt=\"Downloaded\"></div></td>");?>
<td class="table_head">Ratio</td>
<td class="table_head">Left</td>
<td class="table_head">% Comp</td>
<td class="table_head">Seeder</td>
<td class="table_head">Connect</td>
<td class="table_head">client</td>
<td class="table_head">User</td>
</tr>
<?php
while($row1 = MYSQL_FETCH_ARRAY($query)) {
if ($row1["downloaded"] > 0)
{
$ratio = number_format($row1["uploaded"] / $row1["downloaded"], 2);
if (($row1["uploaded"] / $row1["downloaded"]) > 10)
$ratio = "10+";
}
else
if ($row1["uploaded"] > 0)
$ratio = "Inf.";
else
$ratio = "----";
$percentcomp = sprintf("%.2f", 100 * (1 - ($row1["to_go"] / $row["size"])));
if ($site_config["MEMBERSONLY"]) {
$res = mysql_query("SELECT id, username, privacy FROM users WHERE id=".$row1["userid"]."");
$arr = MYSQL_FETCH_ARRAY($res);
}
$arr["username"];
if ($arr["privacy"] != "strong" || ($CURUSER["control_panel"] == "yes")) {
print("<tr><td class=table_col2>".$row1["port"]."</td><td class=table_col1>".mksize($row1["uploaded"])."</td><td class=table_col2>".mksize($row1["downloaded"])."</td><td class=table_col1>".$ratio."</td><td class=table_col2>".mksize($row1["to_go"])."</td><td class=table_col1>".$percentcomp."%</td><td class=table_col2>$row1[seeder]</td><td class=table_col1>$row1[connectable]</td><td class=table_col2>$row1[client]</td><td class=table_col1><a href=account-details.php?id=$arr[id]>$arr[username]</a></td></tr>");
}else{
print("<tr><td class=table_col2>".$row1["port"]."</td><td class=table_col1>".mksize($row1["uploaded"])."</td><td class=table_col2>".mksize($row1["downloaded"])."</td><td class=table_col1>".$ratio."</td><td class=table_col2>".mksize($row1["to_go"])."</td><td class=table_col1>".$percentcomp."%</td><td class=table_col2>$row1[seeder]</td><td class=table_col1>$row1[connectable]</td><td class=table_col2>$row1[client]</td><td class=table_col1>Private</td></tr>");
}
}
echo "<tr><td class=\"table_end\" colspan=12></td></tr>";
echo "</table></div></FIELDSET>";
}
}
echo "<BR><BR>";
//DISPLAY NFO BLOCK
function my_nfo_translate($nfo){
$trans = array(
"\x80" => "Ç", "\x81" => "ü", "\x82" => "é", "\x83" => "â", "\x84" => "ä", "\x85" => "à", "\x86" => "å", "\x87" => "ç", "\x88" => "ê", "\x89" => "ë", "\x8a" => "è", "\x8b" => "ï", "\x8c" => "î", "\x8d" => "ì", "\x8e" => "Ä", "\x8f" => "Å", "\x90" => "É",
"\x91" => "æ", "\x92" => "Æ", "\x93" => "ô", "\x94" => "ö", "\x95" => "ò", "\x96" => "û", "\x97" => "ù", "\x98" => "ÿ", "\x99" => "Ö", "\x9a" => "Ü", "\x9b" => "¢", "\x9c" => "£", "\x9d" => "¥", "\x9e" => "₧", "\x9f" => "ƒ", "\xa0" => "á", "\xa1" => "í",
"\xa2" => "ó", "\xa3" => "ú", "\xa4" => "ñ", "\xa5" => "Ñ", "\xa6" => "ª", "\xa7" => "º", "\xa8" => "¿", "\xa9" => "⌐", "\xaa" => "¬", "\xab" => "½", "\xac" => "¼", "\xad" => "¡", "\xae" => "«", "\xaf" => "»", "\xb0" => "░", "\xb1" => "▒", "\xb2" => "▓",
"\xb3" => "│", "\xb4" => "┤", "\xb5" => "╡", "\xb6" => "╢", "\xb7" => "╖", "\xb8" => "╕", "\xb9" => "╣", "\xba" => "║", "\xbb" => "╗", "\xbc" => "╝", "\xbd" => "╜", "\xbe" => "╛", "\xbf" => "┐", "\xc0" => "└", "\xc1" => "┴", "\xc2" => "┬", "\xc3" => "├",
"\xc4" => "─", "\xc5" => "┼", "\xc6" => "╞", "\xc7" => "╟", "\xc8" => "╚", "\xc9" => "╔", "\xca" => "╩", "\xcb" => "╦", "\xcc" => "╠", "\xcd" => "═", "\xce" => "╬", "\xcf" => "╧", "\xd0" => "╨", "\xd1" => "╤", "\xd2" => "╥", "\xd3" => "╙", "\xd4" => "╘",
"\xd5" => "╒", "\xd6" => "╓", "\xd7" => "╫", "\xd8" => "╪", "\xd9" => "┘", "\xda" => "┌", "\xdb" => "█", "\xdc" => "▄", "\xdd" => "▌", "\xde" => "▐", "\xdf" => "▀", "\xe0" => "α", "\xe1" => "ß", "\xe2" => "Γ", "\xe3" => "π", "\xe4" => "Σ", "\xe5" => "σ",
"\xe6" => "µ", "\xe7" => "τ", "\xe8" => "Φ", "\xe9" => "Θ", "\xea" => "Ω", "\xeb" => "δ", "\xec" => "∞", "\xed" => "φ", "\xee" => "ε", "\xef" => "∩", "\xf0" => "≡", "\xf1" => "±", "\xf2" => "≥", "\xf3" => "≤", "\xf4" => "⌠", "\xf5" => "⌡", "\xf6" => "÷",
"\xf7" => "≈", "\xf8" => "°", "\xf9" => "∙", "\xfa" => "·", "\xfb" => "√", "\xfc" => "ⁿ", "\xfd" => "²", "\xfe" => "■", "\xff" => " ",
);
$trans2 = array("\xe4" => "ä", "\xF6" => "ö", "\xFC" => "ü", "\xC4" => "Ä", "\xD6" => "Ö", "\xDC" => "Ü", "\xDF" => "ß");
$all_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
$last_was_ascii = False;
$tmp = "";
$nfo = $nfo . "\00";
for ($i = 0; $i < (strlen($nfo) - 1); $i++)
{
$char = $nfo[$i];
if (isset($trans2[$char]) and ($last_was_ascii or strpos($all_chars, ($nfo[$i + 1]))))
{
$tmp = $tmp . $trans2[$char];
$last_was_ascii = True;
}
else
{
if (isset($trans[$char]))
{
$tmp = $tmp . $trans[$char];
}
else
{
$tmp = $tmp . $char;
}
$last_was_ascii = strpos($all_chars, $char);
}
}
return $tmp;
}
//-----------------------------------------------
//DISPLAY NFO BLOCK
if($row["nfo"]== "yes"){
$nfofilelocation = "$nfo_dir/$row[id].nfo";
$filegetcontents = file_get_contents($nfofilelocation);
$nfo = htmlspecialchars($filegetcontents);
if ($nfo) {
$nfo = my_nfo_translate($nfo);
begin_table();
print("<tr><td class=rowtabhead>NFO</td></tr>\n");
print("<tr><td align=center class=tablebg>\n");
print("<textarea class=nfo wrap=\"off\" rows=30 and cols=30 READONLY>".stripslashes($nfo)."</textarea>");
print("<tr><td class=rowend></td></tr>\n");
end_table();
}else{
print("Error reading .nfo file!");
}
}
end_frame();
begin_frame("" . COMMENTS . "");
//echo "<p align=center><a class=index href=torrents-comment.php?id=$id>" . ADDCOMMENT . "</a></p>\n";
$subres = mysql_query("SELECT COUNT(*) FROM comments WHERE torrent = $id") or die(mysql_error());
$subrow = mysql_fetch_array($subres);
$commcount = $subrow[0];
if ($commcount) {
list($pagertop, $pagerbottom, $limit) = pager(10, $commcount, "torrents-details.php?id=$id&");
$commquery = "SELECT comments.id, text, user, comments.added, editedby, editedat, avatar, signature, username, title, class, uploaded, downloaded, privacy, donated FROM comments LEFT JOIN users ON comments.user = users.id WHERE torrent = $id ORDER BY comments.id $limit";
$commres = mysql_query($commquery) or die(mysql_error());
}else{
unset($commres);
}
if ($commcount) {
print($pagertop);
commenttable($commres);
print($pagerbottom);
}else {
print("<BR><b><CENTER>" . NOCOMMENTS . "</CENTER></b><BR>\n");
}
require_once("backend/bbcode.php");
if ($CURUSER) {
echo "<CENTER>";
echo "<form name=\"comment\" method=\"post\" action=\"torrents-details.php?id=$row[id]&takecomment=yes\">";
echo "".textbbcode("comment","body")."<br>";
echo "<input type=\"submit\" class=lbutton value=\"Add Comment\" />";
echo "</form></CENTER>";
}
end_frame();
stdfoot();
?>