|
#1
|
|||
|
|||
[Mod Request] Details in browse.php
Can anyone help me with this mod? Tooltip details or what is it called :-s
Code:
<? include "ctracker.php"; //--------------------------------- //---- Max. Sysops v0.2 //--------------------------------- function maxsysop () { global $CURUSER; // Check Staff Names //$lmaxclass = 15; //$lsysopnames = array("FaTaL"); // Case sensitive. Change this (YOUR SYSOP-ADMIN NAMES GOES HERE) (example: array("adminname1","adminname2","adminname3","adminname4","so far") // if ($CURUSER["class"] >= $lmaxclass) // if (!in_array($CURUSER["username"], $lsysopnames, true)) { // true for strict comparison // $msg = "Fake Account Detected: Username: ".$CURUSER["username"]." - UserID: ".$CURUSER["id"]." - UserIP : ".getip(); // write_log($msg); // stderr("Access Denied!","We come to believe you are using a fake account, therefore we've logged this action!"); // } // Check Staff IDS //define ('UC_STAFF', 4); // Minumum Staff Level (4= UC_MODERATOR) //if ($CURUSER['class'] >= UC_STAFF) { // $allowed_ID = array(1,2,3,122,20,849,984,1425,1523,1533,1561); // Change this (YOUR SYSOP-ADMIN IDS GOES HERE) (example: array(1,2,3,4,5)) // if (!in_array((int)$CURUSER['id'], $allowed_ID, true)) { // true for strict comparison // $msg = "Fake Account Detected: Username: ".$CURUSER["username"]." - UserID: ".$CURUSER["id"]." - UserIP : ".getip(); // write_log($msg); // stderr("Access Denied!","We come to believe you are using a fake account, therefore we've logged this action!"); // } // } } //--------------------------------- //---- Max. Sysops v0.2 //--------------------------------- // Ajout des protections injection SQL $x = str_replace("--", '--', $x); $x = str_replace("UPDATE", '', $x); $x = str_replace("DELETE", '', $x); $x = str_replace("DROP", '', $x); $x = str_replace("INSERT", '', $x); $x = str_replace("$mysql_", '', $x); $x = str_replace("java script:", '', $x); // // PHP5 with register_long_arrays off? if (!isset($HTTP_POST_VARS) && isset($_POST)) { $HTTP_POST_VARS = $_POST; $HTTP_GET_VARS = $_GET; $HTTP_SERVER_VARS = $_SERVER; $HTTP_COOKIE_VARS = $_COOKIE; $HTTP_ENV_VARS = $_ENV; $HTTP_POST_FILES = $_FILES; } function strip_magic_quotes($arr) { foreach ($arr as $k => $v) { if (is_array($v)) { $arr[$k] = strip_magic_quotes($v); } else { $arr[$k] = stripslashes($v); } } return $arr; } if (get_magic_quotes_gpc()) { if (!empty($_GET)) { $_GET = strip_magic_quotes($_GET); } if (!empty($_POST)) { $_POST = strip_magic_quotes($_POST); } if (!empty($_COOKIE)) { $_COOKIE = strip_magic_quotes($_COOKIE); } } // addslashes to vars if magic_quotes_gpc is off // this is a security precaution to prevent someone // trying to break out of a SQL statement. // if( !get_magic_quotes_gpc() ) { if( is_array($HTTP_GET_VARS) ) { while( list($k, $v) = each($HTTP_GET_VARS) ) { if( is_array($HTTP_GET_VARS[$k]) ) { while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) ) { $HTTP_GET_VARS[$k][$k2] = addslashes($v2); } @reset($HTTP_GET_VARS[$k]); } else { $HTTP_GET_VARS[$k] = addslashes($v); } } @reset($HTTP_GET_VARS); } if( is_array($HTTP_POST_VARS) ) { while( list($k, $v) = each($HTTP_POST_VARS) ) { if( is_array($HTTP_POST_VARS[$k]) ) { while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) ) { $HTTP_POST_VARS[$k][$k2] = addslashes($v2); } @reset($HTTP_POST_VARS[$k]); } else { $HTTP_POST_VARS[$k] = addslashes($v); } } @reset($HTTP_POST_VARS); } if( is_array($HTTP_COOKIE_VARS) ) { while( list($k, $v) = each($HTTP_COOKIE_VARS) ) { if( is_array($HTTP_COOKIE_VARS[$k]) ) { while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) ) { $HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2); } @reset($HTTP_COOKIE_VARS[$k]); } else { $HTTP_COOKIE_VARS[$k] = addslashes($v); } } @reset($HTTP_COOKIE_VARS); } } function local_user() { return $_SERVER["SERVER_ADDR"] == $_SERVER["REMOTE_ADDR"]; } $FUNDS = "$0"; $SITE_ONLINE = true; //$SITE_ONLINE = local_user(); //$SITE_ONLINE = false; $max_torrent_size = 1000000; $announce_interval = 60 * 60; $signup_timeout = 86400 * 3; $minvotes = 1; $invite_timeout = 86400 * 3; $invites = 3000; $max_dead_torrent_time = 6 * 3600; // Max users on site $maxusers = 10000; //Directory for subs $SUBSPATH = "subs"; # local path to subs dir, chmod 777 // ONLY USE ONE OF THE FOLLOWING DEPENDING ON YOUR O/S!!! $torrent_dir = "torrents"; # FOR UNIX ONLY - must be writable for httpd user //$torrent_dir = "torrents"; # FOR WINDOWS ONLY - must be writable for httpd user # the first one will be displayed on the pages $announce_urls = array(); $announce_urls[] = "http://network.fnatic.ro/announce.php"; if ($_SERVER["HTTP_HOST"] == "") $_SERVER["HTTP_HOST"] = $_SERVER["SERVER_NAME"]; $BASEURL = "http://" . $_SERVER["HTTP_HOST"]; // Set this to your site URL... No ending slash! $DEFAULTBASEURL = "http://network.fnatic.ro"; //set this to true to make this a tracker that only registered users may use $MEMBERSONLY = true; //maximum number of peers (seeders+leechers) allowed before torrents starts to be deleted to make room... //set this to something high if you don't require this feature $PEERLIMIT = 50000; // Email for sender/return path. $SITEEMAIL = " noreply@fnatic.ro"; $SITENAME = "The Network"; $autoclean_interval = 900; $pic_base_url = "/pic/"; $imgdir = "/pic/"; // Maximum size of files uploaded into the BitBucket in bytes $GLOBALS["MAX_UPLOAD_FILESIZE"] = 1024 * 1024; // Maximum size of the BitBucket per user in bytes $GLOBALS["MAX_BITBUCKET_SIZE_USER"] = 1024 * 1024; // Maximum size of the BitBucket for uploaders in bytes $GLOBALS["MAX_BITBUCKET_SIZE_UPLOADER"] = 5 * 1024 * 1024; // Path where all Bit-Bucket files are stored. These are: // User's files, torrent and NFO images // This path MUST be a subdir of the tracker root, and MUST be // publicly available, optionally with referrer check // Webserver MUST have write permission on this directory! // No trailing slash. $GLOBALS["BITBUCKET_DIR"] = "bitbucket"; // Relative or absolute URL where all images for the interface are stored. // MUST include a trailing slash! $GLOBALS["PIC_BASE_URL"] = "pic/"; require_once("secrets.php"); require_once("cleanup.php"); //Do not modify -- versioning system //This will help identify code for support issues at tbdev.net define ('TBVERSION','TBDEV.NET-12-09-05'); /**** validip/getip courtesy of manolete <manolete@myway.com> ****/ // IP Validation function validip($ip) { if (!empty($ip) && $ip == long2ip(ip2long($ip))) { // reserved IANA IPv4 addresses // http://www.iana.org/assignments/ipv4-address-space $reserved_ips = array ( array('0.0.0.0','2.255.255.255'), array('10.0.0.0','10.255.255.255'), array('127.0.0.0','127.255.255.255'), array('169.254.0.0','169.254.255.255'), array('172.16.0.0','172.31.255.255'), array('192.0.2.0','192.0.2.255'), array('192.168.0.0','192.168.255.255'), array('255.255.255.0','255.255.255.255') ); foreach ($reserved_ips as $r) { $min = ip2long($r[0]); $max = ip2long($r[1]); if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false; } return true; } else return false; } // Patched function to detect REAL IP address if it's valid function getip() { if (isset($_SERVER)) { if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && validip($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && validip($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else { $ip = $_SERVER['REMOTE_ADDR']; } } else { if (getenv('HTTP_X_FORWARDED_FOR') && validip(getenv('HTTP_X_FORWARDED_FOR'))) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_CLIENT_IP') && validip(getenv('HTTP_CLIENT_IP'))) { $ip = getenv('HTTP_CLIENT_IP'); } else { $ip = getenv('REMOTE_ADDR'); } } return $ip; } function latestforumposts() { /// FIRST WE MAKE THE HEADER (NON-LOOPED) /// print("<table border=1 cellspacing=0 width=630 cellpadding=5><tr>". "<td class=tabletitle align=left>Topic Title</td>". "<td class=tabletitle align=left>Replies</td>". "<td class=tabletitle align=left>Views</td>". "<td class=tabletitle align=left>Author</td>". "<td class=tabletitle align=left>Last Post</td>". "</tr>"); /// HERE GOES THE QUERY TO RETRIEVE DATA FROM THE DATABASE AND WE START LOOPING /// $for = mysql_query("SELECT * FROM topics ORDER BY lastpost DESC LIMIT 5"); while ($topicarr = mysql_fetch_assoc($for)) { $topicid = $topicarr["id"]; $topic_title = $topicarr["subject"]; $topic_userid = $topicarr["userid"]; $topic_views = $topicarr["views"]; $views = number_format($topic_views); /// GETTING TOTAL NUMBER OF POSTS /// $res = mysql_query("SELECT COUNT(*) FROM posts WHERE topicid=$topicid") or sqlerr(__FILE__, __LINE__); $arr = mysql_fetch_row($res); $posts = $arr[0]; $replies = max(0, $posts - 1); /// GETTING USERID AND DATE OF LAST POST /// $res = mysql_query("SELECT * FROM posts WHERE topicid=$topicid ORDER BY id DESC LIMIT 1") or sqlerr(__FILE__, __LINE__); $arr = mysql_fetch_assoc($res); $postid = 0 + $arr["id"]; $userid = 0 + $arr["userid"]; $added = "<nobr>" . $arr["added"] . "</nobr>"; /// GET NAME OF LAST POSTER /// $res = mysql_query("SELECT id, username FROM users WHERE id=$userid") or sqlerr(__FILE__, __LINE__); if (mysql_num_rows($res) == 1) { $arr = mysql_fetch_assoc($res); $username = "<a href=userdetails.php?id=$userid><b>$arr[username]</b></a>"; } else $username = "Unknown[$topic_userid]"; /// GET NAME OF THE AUTHOR /// $res = mysql_query("SELECT username FROM users WHERE id=$topic_userid") or sqlerr(__FILE__, __LINE__); if (mysql_num_rows($res) == 1) { $arr = mysql_fetch_assoc($res); $author = "<a href=userdetails.php?id=$topic_userid><b>$arr[username]</b></a>"; } else $author = "Unknown[$topic_userid]"; /// GETTING THE LAST INFO AND MAKE THE TABLE ROWS /// $r = mysql_query("SELECT lastpostread FROM readposts WHERE userid=$userid AND topicid=$topicid") or sqlerr(__FILE__, __LINE__); $a = mysql_fetch_row($r); $new = !$a || $postid > $a[0]; $subject = "<a href=forums.php?action=viewtopic&topicid=$topicid><b>" . encodehtml($topicarr["subject"]) . "</b></a>"; print("<tr class=tableb><td style='padding-right: 5px'>$subject</td>". "<td align=right>$replies</td>" . "<td align=right>$views</td>". "<td align=left>$author</td>" . "<td align=left>$added<br>by $username</td>"); print("</tr>"); } // while print("</table>"); } // end function function dbconn($autoclean = false) { global $mysql_host, $mysql_user, $mysql_pass, $mysql_db; if (!@mysql_connect($mysql_host, $mysql_user, $mysql_pass)) { switch (mysql_errno()) { case 1040: case 2002: if ($_SERVER[REQUEST_METHOD] == "GET") die("<html><head><meta http-equiv=refresh content=\"5 $_SERVER[REQUEST_URI]\"> <script type="text/javascript"> window.google_analytics_uacct = "UA-3186736-1"; </script> </head><body><table border=0 width=100% height=100%><tr><td><h3 align=center>The server load is very high at the moment. Retrying, please wait...</h3></td></tr></table> <script type="text/javascript"><!-- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); //--> </script> <script type="text/javascript"><!-- try { var pageTracker = _gat._getTracker("UA-3186736-1"); pageTracker._trackPageview(); } catch(err) {} //--> </script> </body></html>"); else die("Too many users. Please press the Refresh button in your browser to retry."); default: die("[" . mysql_errno() . "] dbconn: mysql_connect: " . mysql_error()); } } mysql_select_db($mysql_db) or die('dbconn: mysql_select_db: ' + mysql_error()); userlogin(); if ($autoclean) register_shutdown_function("autoclean"); } function userlogin() { global $SITE_ONLINE; unset($GLOBALS["CURUSER"]); $ip = getip(); $nip = ip2long($ip); $res = mysql_query("SELECT * FROM bans WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE__, __LINE__); if (mysql_num_rows($res) > 0) { header("HTTP/1.0 403 Forbidden"); print("<html><body><h1>403 Forbidden</h1>Unauthorized IP address.</body></html>\n"); die; } if (!$SITE_ONLINE || empty($_COOKIE["uid"]) || empty($_COOKIE["pass"])) return; $id = 0 + $_COOKIE["uid"]; if (!$id || strlen($_COOKIE["pass"]) != 32) return; $res = mysql_query("SELECT * FROM users WHERE id = $id AND enabled='yes' AND status = 'confirmed'");// or die(mysql_error()); $row = mysql_fetch_array($res); if (!$row) return; $sec = hash_pad($row["secret"]); if ($_COOKIE["pass"] !== md5($row["passhash"].$_SERVER["REMOTE_ADDR"])) return; mysql_query("UPDATE users SET last_access='" . get_date_time() . "', ip=".sqlesc($ip)." WHERE id=" . $row["id"]);// or die(mysql_error()); $row['ip'] = $ip; $GLOBALS["CURUSER"] = $row; } function autoclean() { global $autoclean_interval; $now = time(); $docleanup = 0; $res = mysql_query("SELECT value_u FROM avps WHERE arg = 'lastcleantime'"); $row = mysql_fetch_array($res); if (!$row) { mysql_query("INSERT INTO avps (arg, value_u) VALUES ('lastcleantime',$now)"); return; } $ts = $row[0]; if ($ts + $autoclean_interval > $now) return; mysql_query("UPDATE avps SET value_u=$now WHERE arg='lastcleantime' AND value_u = $ts"); if (!mysql_affected_rows()) return; docleanup(); } function unesc($x) { if (get_magic_quotes_gpc()) return stripslashes($x); return $x; } function mksize($bytes) { if ($bytes < 1000 * 1024) return number_format($bytes / 1024, 2) . " kB"; elseif ($bytes < 1000 * 1048576) return number_format($bytes / 1048576, 2) . " MB"; elseif ($bytes < 1000 * 1073741824) return number_format($bytes / 1073741824, 2) . " GB"; else return number_format($bytes / 1099511627776, 2) . " TB"; } function mksizeint($bytes) { $bytes = max(0, $bytes); if ($bytes < 1000) return floor($bytes) . " B"; elseif ($bytes < 1000 * 1024) return floor($bytes / 1024) . " kB"; elseif ($bytes < 1000 * 1048576) return floor($bytes / 1048576) . " MB"; elseif ($bytes < 1000 * 1073741824) return floor($bytes / 1073741824) . " GB"; else return floor($bytes / 1099511627776) . " TB"; } function deadtime() { global $announce_interval; return time() - floor($announce_interval * 1.3); } function mkprettytime($s) { if ($s < 0) $s = 0; $t = array(); foreach (array("60:sec","60:min","24:hour","0:day") as $x) { $y = explode(":", $x); if ($y[0] > 1) { $v = $s % $y[0]; $s = floor($s / $y[0]); } else $v = $s; $t[$y[1]] = $v; } if ($t["day"]) return $t["day"] . "d " . sprintf("%02d:%02d:%02d", $t["hour"], $t["min"], $t["sec"]); if ($t["hour"]) return sprintf("%d:%02d:%02d", $t["hour"], $t["min"], $t["sec"]); // if ($t["min"]) return sprintf("%d:%02d", $t["min"], $t["sec"]); // return $t["sec"] . " secs"; } function mkglobal($vars) { if (!is_array($vars)) $vars = explode(":", $vars); foreach ($vars as $v) { if (isset($_GET[$v])) $GLOBALS[$v] = unesc($_GET[$v]); elseif (isset($_POST[$v])) $GLOBALS[$v] = unesc($_POST[$v]); else return 0; } return 1; } function tr($x,$y,$noesc=0) { if ($noesc) $a = $y; else { $a = htmlspecialchars($y); $a = str_replace("\n", "<br />\n", $a); } print("<tr><td class=\"heading\" valign=\"top\" align=\"right\">$x</td><td valign=\"top\" align=left>$a</td></tr>\n"); } //Convert function by phonzie function Convert_to_bytes($number, $size, $returnall=false) { if($returnall === false) { switch($size) { case "t": return $number*1024*1024*1024*1024; case "g": return $number*1024*1024*1024; case "m": return $number*1024*1024; case "k": return $number*1024; case "b": return $number; } } else { switch($size) { case "b": return array($number, $number/1024, $number/1024/1024, $number/1024/1024/1024, $number/1024/1024/1024/1024); break; case "k": return array($number*1024, $number, $number/1024, $number/1024/1024, $number/1024/1024/1024); break; case "m": return array($number*1024*1024, $number*1024, $number, $number/1024, $number/1024/1024); break; case "g": return array($number*1024*1024*1024, $number*1024*1024, $number*1024, $number, $number/1024); break; case "t": return array($number*1024*1024*1024*1024, $number*1024*1024*1024, $number*1024*1024, $number*1024, $number); break; } } } //--End function validfilename($name) { return preg_match('/^[^\0-\x1f:\\\\\/?*\xff#<>|]+$/si', $name); } function validemail($email) { return preg_match('/^[\w.-]+@([\w.-]+\.)+[a-z]{2,6}$/is', $email); } function sqlesc($x) { return "'".mysql_real_escape_string($x)."'"; } function sqlwildcardesc($x) { return str_replace(array("%","_"), array("\\%","\\_"), mysql_real_escape_string($x)); } function urlparse($m) { $t = $m[0]; if (preg_match(',^\w+://,', $t)) return "<a href=\"$t\">$t</a>"; return "<a href=\"http://$t\">$t</a>"; } function parsedescr($d, $html) { if (!$html) { $d = htmlspecialchars($d); $d = str_replace("\n", "\n<br>", $d); } return $d; } function stdhead($title = "", $msgalert = true) { global $CURUSER, $SITE_ONLINE, $FUNDS, $SITENAME; if (!$SITE_ONLINE) die("Site is down for maintenance, please check back again later... thanks<br>"); header("Content-Type: text/html; charset=iso-8859-1"); //header("Pragma: No-cache"); if ($title == "") $title = $SITENAME .(isset($_GET['tbv'])?" (".TBVERSION.")":''); else $title = $SITENAME .(isset($_GET['tbv'])?" (".TBVERSION.")":''). " :: " . htmlspecialchars($title); if ($CURUSER) { $ss_a = @mysql_fetch_array(@mysql_query("select uri from stylesheets where id=" . $CURUSER["stylesheet"])); if ($ss_a) $ss_uri = $ss_a["uri"]; } if (!$ss_uri) { ($r = mysql_query("SELECT uri FROM stylesheets WHERE id=1")) or die(mysql_error()); ($a = mysql_fetch_array($r)) or die(mysql_error()); $ss_uri = $a["uri"]; } if ($msgalert && $CURUSER) { $res = mysql_query("SELECT COUNT(*) FROM messages WHERE receiver=" . $CURUSER["id"] . " && unread='yes'") or die("OopppsY!"); $arr = mysql_fetch_row($res); $unread = $arr[0]; } if ($CURUSER['stylesheet'] == "4") { require_once("pic/styles/blue/stdhead.php"); require_once("pic/styles/blue/stdfoot.php"); } if ($CURUSER['stylesheet'] == "2") { require_once("pic/styles/red/stdhead.php"); require_once("pic/styles/red/stdfoot.php"); } if ($CURUSER['stylesheet'] == "5") { require_once("pic/styles/starfall/stdhead.php"); require_once("pic/styles/starfall/stdfoot.php"); } if ($CURUSER['stylesheet'] == "1") { require_once("pic/styles/light/stdhead.php"); require_once("pic/styles/light/stdfoot.php"); } if ($CURUSER['stylesheet'] == "3") { require_once("pic/styles/default/stdhead.php"); require_once("pic/styles/default/stdfoot.php"); } } function genbark($x,$y) { stdhead($y); print("<h2>" . htmlspecialchars($y) . "</h2>\n"); print("<p>" . htmlspecialchars($x) . "</p>\n"); stdfoot(); exit(); } function mksecret($len = 20) { $ret = ""; for ($i = 0; $i < $len; $i++) $ret .= chr(mt_rand(0, 255)); return $ret; } function httperr($code = 404) { header("HTTP/1.0 404 Not found"); print("<h1>Not Found</h1>\n"); print("<p>Sorry pal :(</p>\n"); exit(); } function gmtime() { return strtotime(get_date_time()); } /* function logincookie($id, $password, $secret, $updatedb = 1, $expires = 0x7fffffff) { $md5 = md5($secret . $password . $secret); setcookie("uid", $id, $expires, "/"); setcookie("pass", $md5, $expires, "/"); if ($updatedb) mysql_query("UPDATE users SET last_login = NOW() WHERE id = $id"); } */ function logincookie($id, $passhash, $updatedb = 1, $expires = 0x7fffffff) { setcookie("uid", $id, $expires, "/"); setcookie("pass", $passhash, $expires, "/"); if ($updatedb) mysql_query("UPDATE users SET last_login = NOW() WHERE id = $id"); } function logoutcookie() { setcookie("uid", "", 0x7fffffff, "/"); setcookie("pass", "", 0x7fffffff, "/"); } function loggedinorreturn() { global $CURUSER; if (!$CURUSER) { header("Location: $BASEURL/login.php?returnto=" . urlencode($_SERVER["REQUEST_URI"])); exit(); } } function deletetorrent($id) { global $torrent_dir; mysql_query("DELETE FROM torrents WHERE id = $id"); mysql_query("DELETE FROM snatched WHERE torrentid = $id"); foreach(explode(".","peers.files.comments.ratings") as $x) mysql_query("DELETE FROM $x WHERE torrent = $id"); unlink("$torrent_dir/$id.torrent"); } function pager($rpp, $count, $href, $opts = array()) { $pages = ceil($count / $rpp); if (!$opts["lastpagedefault"]) $pagedefault = 0; else { $pagedefault = floor(($count - 1) / $rpp); if ($pagedefault < 0) $pagedefault = 0; } if (isset($_GET["page"])) { $page = 0 + $_GET["page"]; if ($page < 0) $page = $pagedefault; } else $page = $pagedefault; $pager = ""; $mp = $pages - 1; $as = "<b><< Prev</b>"; if ($page >= 1) { $pager .= "<a href=\"{$href}page=" . ($page - 1) . "\">"; $pager .= $as; $pager .= "</a>"; } else $pager .= $as; $pager .= " "; $as = "<b>Next >></b>"; if ($page < $mp && $mp >= 0) { $pager .= "<a href=\"{$href}page=" . ($page + 1) . "\">"; $pager .= $as; $pager .= "</a>"; } else $pager .= $as; if ($count) { $pagerarr = array(); $dotted = 0; $dotspace = 3; $dotend = $pages - $dotspace; $curdotend = $page - $dotspace; $curdotstart = $page + $dotspace; for ($i = 0; $i < $pages; $i++) { if (($i >= $dotspace && $i <= $curdotend) || ($i >= $curdotstart && $i < $dotend)) { if (!$dotted) $pagerarr[] = "..."; $dotted = 1; continue; } $dotted = 0; $start = $i * $rpp + 1; $end = $start + $rpp - 1; if ($end > $count) $end = $count; $text = "$start - $end"; if ($i != $page) $pagerarr[] = "<a href=\"{$href}page=$i\"><b>$text</b></a>"; else $pagerarr[] = "<b>$text</b>"; } $pagerstr = join(" | ", $pagerarr); $pagertop = "<p align=\"center\">$pager<br />$pagerstr</p>\n"; $pagerbottom = "<p align=\"center\">$pagerstr<br />$pager</p>\n"; } else { $pagertop = "<p align=\"center\">$pager</p>\n"; $pagerbottom = $pagertop; } $start = $page * $rpp; return array($pagertop, $pagerbottom, "LIMIT $start,$rpp"); } function downloaderdata($res) { $rows = array(); $ids = array(); $peerdata = array(); while ($row = mysql_fetch_assoc($res)) { $rows[] = $row; $id = $row["id"]; $ids[] = $id; $peerdata[$id] = array(downloaders => 0, seeders => 0, comments => 0); } if (count($ids)) { $allids = implode(",", $ids); $res = mysql_query("SELECT COUNT(*) AS c, torrent, seeder FROM peers WHERE torrent IN ($allids) GROUP BY torrent, seeder"); while ($row = mysql_fetch_assoc($res)) { if ($row["seeder"] == "yes") $key = "seeders"; else $key = "downloaders"; $peerdata[$row["torrent"]][$key] = $row["c"]; } $res = mysql_query("SELECT COUNT(*) AS c, torrent FROM comments WHERE torrent IN ($allids) GROUP BY torrent"); while ($row = mysql_fetch_assoc($res)) { $peerdata[$row["torrent"]]["comments"] = $row["c"]; } } return array($rows, $peerdata); } function commenttable($rows) { global $CURUSER; begin_main_frame(); begin_frame(); $count = 0; foreach ($rows as $row) { //Sort shit out if ($row["downloaded"] > 0) { $ratio = number_format($row["uploaded"] / $row["downloaded"], 3); $ratio = "<font color=" . get_ratio_color($ratio) . ">$ratio</font>"; } else if ($arr2["uploaded"] > 0) $ratio = "Inf."; else $ratio = "---"; $uploaded = mksize($row["uploaded"]); $downloaded = mksize($row["downloaded"]); $posterid = $row["user"]; //end sort shit out //add popup to display echo ("<div id=\"popup$posterid\" style=\"position:absolute; width:140px; height:40px; border:1px solid black; display:none; background-color:COCOCO\" align='center'> Downloaded: $downloaded Uploaded: $uploaded <br> Ratio: $ratio</div>\n"); // end add popup to display print("<p class=sub>#" . $row["id"] . " by "); if (isset($row["username"])) { $clas = get_user_class_name($row["class"]); $title = $row["title"]; if ($title == "") $title = ($row["class"]); else $title = htmlspecialchars($title); print("<a name=comm onMouseOver='show($posterid)' onMouseOut='hide($posterid)' ". $row["id"] . " href=userdetails.php?id=" . $row["user"] . "><b>" . htmlspecialchars($row["username"]) . "</b></a>" . ($row["donor"] == "yes" ? "<img src=pic/star.gif alt='Donor'>" : "") . ($row["warned"] == "yes" ? "<img src=". "/pic/warned.gif alt=\"Warned\">" : "") . " <b><font color='red'>($title)</font></b> <b><font color='green'>[$clas]</font></b>\n"); } else print("<a name=\"comm" . $row["id"] . "\"><i>(orphaned)</i></a>\n"); print(" at " . $row["added"] . " GMT" . ($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=edit&cid=$row[id]>Edit</a>]" : "") . (get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=delete&cid=$row[id]>Delete</a>]" : "") . ($row["editedby"] && get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=vieworiginal&cid=$row[id]>View original</a>]" : "") . "</p>\n"); $avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($row["avatar"]) : ""); if (!$avatar) $avatar = "/pic/default_avatar.gif"; $text = format_comment($row["text"]); if ($row["editedby"]) $text .= "<p><font size=1 class=small>Last edited by <a href=userdetails.php?id=$row[editedby]><b>$row[username]</b></a> at $row[editedat] GMT</font></p>\n"; begin_table(true); print("<tr valign=top>\n"); print("<td align=center width=150 style='padding: 0px'><img width=150 src=$avatar></td>\n"); print("<td class=text>$text</td>\n"); print("</tr>\n"); end_table(); } end_frame(); end_main_frame(); } function searchfield($s) { return preg_replace(array('/[^a-z0-9]/si', '/^\s*/s', '/\s*$/s', '/\s+/s'), array(" ", "", "", " "), $s); } function genrelist() { $ret = array(); $res = mysql_query("SELECT id, name FROM categories ORDER BY name"); while ($row = mysql_fetch_array($res)) $ret[] = $row; return $ret; } function linkcolor($num) { if (!$num) return "red"; // if ($num == 1) // return "yellow"; return "green"; } function ratingpic($num) { global $pic_base_url; $r = round($num * 2) / 2; if ($r < 1 || $r > 5) return; return "<img src=\"$pic_base_url$r.gif\" border=\"0\" alt=\"rating: $num / 5\" />"; } function CutName ($txt, $len) { return (strlen($txt)>$len ? substr($txt,0,$len-4) .'...':$txt); } function torrenttable($res, $variant = "index") { global $pic_base_url, $CURUSER; /*$browse_res = mysql_query("SELECT last_browse FROM users WHERE id='".$CURUSER['id']."'"); $browse_arr = mysql_fetch_row($browse_res); $last_browse = $browse_arr[0];*/ $last_browse = $CURUSER['last_browse']; $time_now = gmtime(); if ($last_browse > $time_now) { $last_browse=$time_now; } if ($CURUSER["class"] < UC_VIP) { $gigs = $CURUSER["uploaded"] / (1024*1024*1024); $ratio = (($CURUSER["downloaded"] > 0) ? ($CURUSER["uploaded"] / $CURUSER["downloaded"]) : 0); if ($ratio < 0.5 || $gigs < 5) $wait = 0; elseif ($ratio < 0.65 || $gigs < 6.5) $wait = 0; elseif ($ratio < 0.8 || $gigs < 8) $wait = 0; elseif ($ratio < 0.95 || $gigs < 9.5) $wait = 0; else $wait = 0; } ?> <table border="1" width="750" cellspacing=0 cellpadding=5> <tr> <? // sorting by MarkoStamcar $count_get = 0; foreach ($_GET as $get_name => $get_value) { $get_name = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_name))); $get_value = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_value))); $get_name = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_name))); $get_value = mysql_escape_string(strip_tags(str_replace(array("\"","'"),array("",""),$get_value))); if ($get_name != "sort" && $get_name != "type") { if ($count_get > 0) { $oldlink = $oldlink . "&" . $get_name . "=" . $get_value; } else { $oldlink = $oldlink . $get_name . "=" . $get_value; } $count_get++; } } if ($count_get > 0) { $oldlink = $oldlink . "&"; } if ($_GET['sort'] == "1") { if ($_GET['type'] == "desc") { $link1 = "asc"; } else { $link1 = "desc"; } } if ($_GET['sort'] == "2") { if ($_GET['type'] == "desc") { $link2 = "asc"; } else { $link2 = "desc"; } } if ($_GET['sort'] == "3") { if ($_GET['type'] == "desc") { $link3 = "asc"; } else { $link3 = "desc"; } } if ($_GET['sort'] == "4") { if ($_GET['type'] == "desc") { $link4 = "asc"; } else { $link4 = "desc"; } } if ($_GET['sort'] == "5") { if ($_GET['type'] == "desc") { $link5 = "asc"; } else { $link5 = "desc"; } } if ($_GET['sort'] == "6") { if ($_GET['type'] == "desc") { $link6 = "asc"; } else { $link6 = "desc"; } } if ($_GET['sort'] == "7") { if ($_GET['type'] == "desc") { $link7 = "asc"; } else { $link7 = "desc"; } } if ($_GET['sort'] == "8") { if ($_GET['type'] == "desc") { $link8 = "asc"; } else { $link8 = "desc"; } } if ($_GET['sort'] == "9") { if ($_GET['type'] == "desc") { $link9 = "asc"; } else { $link9 = "desc"; } } if ($link1 == "") { $link1 = "asc"; } // for torrent name if ($link2 == "") { $link2 = "desc"; } if ($link3 == "") { $link3 = "desc"; } if ($link4 == "") { $link4 = "desc"; } if ($link5 == "") { $link5 = "desc"; } if ($link6 == "") { $link6 = "desc"; } if ($link7 == "") { $link7 = "desc"; } if ($link8 == "") { $link8 = "desc"; } if ($link9 == "") { $link9 = "desc"; } ?> <td class="type" align="center" width="1%">Type</td> <td class="middle" align="center" width="400">Nume</td> <td class="middle" align=left width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=1&type=<? print $link1; ?>">DL</a></td> <? if ($wait) { print("<td class=\"middle\" align=\"center\">Wait</td>\n"); } if ($variant == "mytorrents") { print("<td class=\"middle\" align=\"center\">Edit</td>\n"); print("<td class=\"middle\" align=\"center\">Visible</td>\n"); } ?> <td class="middle" align="right" width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=2&type=<? print $link2; ?>">Files</a></td> <td class="middle" align="right" width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=3&type=<? print $link3; ?>">Comm</a></td> <!--<td class="middle" align="center">Rating</td>--> <td class="middle" align="center" width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=5&type=<? print $link5; ?>">Size</a></td> <!-- <td class="middle" align=right>Views</td> <td class="middle" align=right>Hits</td> --> <td class="middle" align="center" width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=6&type=<? print $link6; ?>"><img src=pic/top.gif border=0</a></td> <td class="middle" align="right" width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=7&type=<? print $link7; ?>"><img src=pic/arrowup.gif border=0></a></td> <td class="middle" align="right" width="1%"><a rel="nofollow" href="browse.php?<? print $oldlink; ?>sort=8&type=<? print $link8; ?>"><img src=pic/arrowdown.gif border=0></a></td> <? if (get_user_class() > UC_UPLOADER) if ($variant == "index") print("<td class=\"uploader\" align=center width=1%><a href=\"browse.php?{$oldlink}sort=9&type={$link9}\">Upped by</a></td>\n"); if ($variant == "index") print("</tr>\n"); while ($row = mysql_fetch_assoc($res)) { /** * @author StarionTurbo * @copyright 2007 * @modname Show torrents by day * @version v1.0 */ /** Make some date varibles **/ $day_added = $row['added']; $day_show = strtotime($day_added); $thisdate = date('Y-m-d',$day_show); /** If date already exist, disable $cleandate varible **/ if($thisdate==$prevdate){ $cleandate = ''; /** If date does not exist, make some varibles **/ }else{ $day_added = ''.date('l - j M', strtotime($row['added'])); // You can change this to something else $cleandate = "<tr><td colspan=15 align=center><b>Torentele Adaugate: $day_added 2009</b></td></tr>\n"; // This also... } /** Prevent that "torrents added..." wont appear again with the same date **/ $prevdate = $thisdate; $man = array( 'Jan' => 'Ianuarie', 'Feb' => 'Februarie', 'Mar' => 'Martie', 'Apr' => 'Aprilie', 'May' => 'Mai', 'Jun' => 'Iunie', 'Jul' => 'Iulie', 'Aug' => 'August', 'Sep' => 'Septembrie', 'Oct' => 'Octombrie', 'Nov' => 'Noiembrie', 'Dec' => 'Decembrie' ); foreach($man as $eng => $ger){ $cleandate = str_replace($eng, $ger,$cleandate); } $dag = array( 'Mon' => 'Luni', 'Tues' => 'Marti', 'Wednes' => 'Miercuri', 'Thurs' => 'Joi', 'Fri' => 'Vineri', 'Satur' => 'Sambata', 'Sun' => 'Duminica' ); foreach($dag as $eng => $ger){ $cleandate = str_replace($eng.'day', $ger.'',$cleandate); } /** If torrents not listed by added date **/ if ($row["sticky"] == "no") // delete this line if you dont have sticky torrents or you want to display the addate for them also if(!$_GET['sort'] && !$_GET['d']){ echo $cleandate."\n"; } $id = $row["id"]; if ($row["sticky"] == "yes"){ print("<tr class=highlight>\n"); } else { print("<tr>\n"); } print("<td align=center style='padding: 0px'>"); if (isset($row["cat_name"])) { print("<a href=\"browse.php?cat=" . $row["category"] . "\">"); if (isset($row["cat_pic"]) && $row["cat_pic"] != "") print("<img border=\"0\" src=\"pic/blank.gif\" class=\"cate".$row["category"]."\" alt=\"" . $row["cat_name"] . "\" />"); else print($row["cat_name"]); print("</a>"); } else print("-"); print("</td>\n"); $doubleuptag = ($row[double_upload]=="yes" ? "" : ""); if (!empty($row['description'])) { $description = "Genre: " . htmlspecialchars($row["description"]) . ""; } else { $description = ""; } $dispname = htmlspecialchars(trim($row["name"])); $sticky = ($row[sticky]=="yes" ? "" : ""); $scene = ($row[scene]=="yes" ? " <img src='pic/scene.png' align='right' title='Scene' alt='Scene'/>" : ""); $request = ($row[request]=="yes" ? " <img src='pic/request.png' align='right' title='Request' alt='Request'/>" : ""); $res2 = mysql_query("SELECT torrents.poster FROM torrents WHERE torrents.id = $id") or sqlerr(); $row2 = mysql_fetch_row($res2); if (!empty($row2["0"])){ $poster = $row2[0]; $poster3 = "<table border=0 class=embedded cellspacing=0><td border=0 class=embedded align=center width=150 height=220><img src=$poster width=150 height=220></td>"; } else $poster3 = "<table border=0 class=embedded cellspacing=0><td border=0 class=embedded align=center width=150 height=220><img src=poster.jpg width=150 height=220></td>"; $count_dispname=strlen($dispname); $char="50"; // maximum lenght if($count_dispname > $char){ $short_torrent_name_alt=""; $dispname=substr($dispname, 0, $char) . "..."; }else $short_torrent_name_alt=""; print("<td align=left><a $short_torrent_name_alt href=\"details.php?"); if ($variant == "mytorrents") print("returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&"); print("id=$id"); if ($variant == "index") print("&hit=1"); $thisisfree = ($row[free]=="yes" ? "<div style=\"float:right;vertical-align:bottom\"> <img src=pic/free.png></div>" : ""); $nuked = ($row[nuked]=="yes" ? " <img src='pic/nuked.gif' align=right title='Nuked' alt='Nuked'/>" : ""); if (sql_timestamp_to_unix_timestamp($row["added"]) >= $last_browse) print("\" onmouseover=\"{overlib('$poster3', WIDTH, 150, DELAY, 100);}\" onmouseout=\"return nd();\"><b>$dispname</b></a> <div style=\"float:right;vertical-align:bottom\"><img src=/pic/new.png border=none alt=NEW></div>$nuked $thisisfree $sticky $scene $request<br>$doubleuptag $description\n"); else print("\" onmouseover=\"{overlib('$poster3', WIDTH, 150, DELAY, 100);}\" onmouseout=\"return nd();\"><b>$dispname</b></a><right>$nuked $thisisfree $scene $sticky $request<br>$doubleuptag $description\n"); $res2 = mysql_query("SELECT torrents.poster FROM torrents WHERE torrents.id = $id") or sqlerr(); print("<td class=\"row1\" align=\"left\"><a href=\"details.php?"); if ($variant == "mytorrents") print("returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&"); print("id=$id"); if ($variant == "index") print("&hit=1"); if ($wait) { $elapsed = floor((gmtime() - strtotime($row["added"])) / 3600); if ($elapsed < $wait) { $color = dechex(floor(127*($wait - $elapsed)/48 + 128)*65536); print("<td align=center><nobr><font color=\"$color\">" . number_format($wait - $elapsed) . " h</font></a></nobr></td>\n"); } else print("<td align=center><nobr>None</nobr></td>\n"); } if ($row["nfoav"] && get_user_class() >= UC_POWER_USER) print("<a href=viewnfo.php?id=$row[id]><img src=pic/viewnfo.gif border=0 alt='View NFO'></a>\n"); if ($variant == "index") print("<td align=\"right\"><a href=\"/download.php/$id/" . rawurlencode($row["filename"]) . "\"><img src=pic/download.gif border=0 alt=Download alt= Quick Download Link></a></td>\n"); else if ($variant == "mytorrents") print("<td align=\"center\"><a href=\"edit.php?returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&id=" . $row["id"] . "\">edit</a>\n"); print("</td>\n"); if ($variant == "mytorrents") { print("<td align=\"right\">"); if ($row["visible"] == "no") print("<b>no</b>"); else print("yes"); print("</td>\n"); } if ($row["type"] == "single") print("<td align=\"right\">" . $row["numfiles"] . "</td>\n"); else { if ($variant == "index") print("<td align=\"right\"><b><a href=\"details.php?id=$id&hit=1&filelist=1\">" . $row["numfiles"] . "</a></b></td>\n"); else print("<td align=\"right\"><b><a href=\"details.php?id=$id&filelist=1#filelist\">" . $row["numfiles"] . "</a></b></td>\n"); } if (!$row["comments"]) print("<td align=\"right\">" . $row["comments"] . "</td>\n"); else { if ($variant == "index") print("<td align=\"right\"><b><a href=\"details.php?id=$id&hit=1&tocomm=1\">" . $row["comments"] . "</a></b></td>\n"); else print("<td align=\"right\"><b><a href=\"details.php?id=$id&page=0#startcomments\">" . $row["comments"] . "</a></b></td>\n"); } /* print("<td align=\"center\">"); if (!isset($row["rating"])) print("---"); else { $rating = round($row["rating"] * 2) / 2; $rating = ratingpic($row["rating"]); if (!isset($rating)) print("---"); else print($rating); } print("</td>\n"); */ print("<td align=center>" . str_replace(" ", "<br>", mksize($row["size"])) . "</td>\n"); // print("<td align=\"right\">" . $row["views"] . "</td>\n"); // print("<td align=\"right\">" . $row["hits"] . "</td>\n"); $_s = ""; if ($row["times_completed"] != 1) $_s = "s"; print("<td align=center><a href=viewsnatches.php?id=$row[id]>" . number_format($row["times_completed"]) . "<br>time$_s</a></td>\n"); if ($row["seeders"]) { if ($variant == "index") { if ($row["leechers"]) $ratio = $row["seeders"] / $row["leechers"]; else $ratio = 1; print("<td align=right><b><a href=details.php?id=$id&hit=1&toseeders=1><font color=" . get_slr_color($ratio) . ">" . $row["seeders"] . "</font></a></b></td>\n"); } else print("<td align=\"right\"><b><a class=\"" . linkcolor($row["seeders"]) . "\" href=\"details.php?id=$id&dllist=1#seeders\">" . $row["seeders"] . "</a></b></td>\n"); } else print("<td align=\"right\"><span class=\"" . linkcolor($row["seeders"]) . "\">" . $row["seeders"] . "</span></td>\n"); if ($row["leechers"]) { if ($variant == "index") print("<td align=right><b><a href=details.php?id=$id&hit=1&todlers=1>" . number_format($row["leechers"]) . ($peerlink ? "</a>" : "") . "</b></td>\n"); else print("<td align=\"right\"><b><a class=\"" . linkcolor($row["leechers"]) . "\" href=\"details.php?id=$id&dllist=1#leechers\">" . $row["leechers"] . "</a></b></td>\n"); } else print("<td align=\"right\">0</td>\n"); if (get_user_class() > UC_VIP) if ($variant == "index") { if ($row["anonymous"] == "yes") { print("<td align=center><i>Anonymous</i></td>\n"); } else { print("<td align=center>" . (isset($row["username"]) ? ("<a href=userdetails.php?id=" . $row["owner"] . "><b>" . htmlspecialchars($row["username"]) . "</b></a>") : "<i>(unknown)</i>") . "</td>\n"); } } print("</tr>\n"); } print("</table>\n"); return $rows; } function hash_pad($hash) { return str_pad($hash, 20); } function hash_where($name, $hash) { $shhash = preg_replace('/ *$/s', "", $hash); return "($name = " . sqlesc($hash) . " OR $name = " . sqlesc($shhash) . ")"; } function get_user_icons($arr, $big = false) { if ($big) { $donorpic = "starbig.gif"; $warnedpic = "warnedbig.gif"; $disabledpic = "disabledbig.gif"; $style = "style='margin-left: 4pt'"; } else { $donorpic = "star.gif"; $warnedpic = "warned.gif"; $disabledpic = "disabled.gif"; $style = "style=\"margin-left: 2pt\""; } $pics = $arr["donor"] == "yes" ? "<img src=pic/$donorpic alt='Donor' border=0 $style>" : ""; if ($arr["enabled"] == "yes") $pics .= $arr["warned"] == "yes" ? "<img src=pic/$warnedpic alt=\"Warned\" border=0 $style>" : ""; else $pics .= "<img src=pic/$disabledpic alt=\"Disabled\" border=0 $style>\n"; return $pics; } function parked() { global $CURUSER; if ($CURUSER["parked"] == "yes") stderr("Error", "Your account is parked."); } require "global.php"; ?> |
#2
|
||||
|
||||
i can't see the demo image ... broken link, please reupload
__________________
|
#3
|
|||
|
|||
|
#4
|
||||
|
||||
__________________
|
#5
|
|||
|
|||
That is what i tried,is not good.my bittorrents.php is different :(
|
#6
|
||||
|
||||
Do you have TBDev 2008?
__________________
|
The Following User Says Thank You to Chez For This Useful Post: | ||
ratza (4th November 2014)
|
#7
|
|||
|
|||
define ('TBVERSION','TBDEV.NET-12-09-05');
|
#8
|
||||
|
||||
AttentionYou will need to have POSTER MOD to work!Try this: in bittorrent after <head> add this: PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
PHP Code:
__________________
|
The Following User Says Thank You to Chez For This Useful Post: | ||
ratza (4th November 2014)
|
#9
|
|||
|
|||
1.<head> and <body> is found only for the error page
Code:
<html><head><meta http-equiv=refresh content=\"5 $_SERVER[REQUEST_URI]\"></head><body> 2.can't find Code:
print("\" title=\"" . $dispname . "\"><b>" . CutName($dispname, $char) . " <img src=pic/new.png></a> the tutorial i think is what i was searching for but can't make these steps :(( |
Tags |
browsephp , details , mod , request |
|
|