Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > TBDev
Reply
  #1  
Old 4th August 2013, 23:38
ratza ratza is offline
Senior Member
 
Join Date: Jun 2009
P2P
Posts: 21
Default [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&nbsp;$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>&lt;&lt;&nbsp;Prev</b>";
    if ($page >= 1) {
        $pager .= "<a href=\"{$href}page=" . ($page - 1) . "\">";
        $pager .= $as;
        $pager .= "</a>";
    }
    else
        $pager .= $as;
    $pager .= "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    $as = "<b>Next&nbsp;&gt;&gt;</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&nbsp;-&nbsp;$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&amp;cid=$row[id]>Edit</a>]" : "") .
                        (get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=delete&amp;cid=$row[id]>Delete</a>]" : "") .
                        ($row["editedby"] && get_user_class() >= UC_MODERATOR ? "- [<a href=comment.php?action=vieworiginal&amp;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&nbsp;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: &nbsp;&nbsp;$day_added &nbsp;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:&nbsp;" . htmlspecialchars($row["description"]) . "";        }
        else {
        $description = "";
        }

        $dispname = htmlspecialchars(trim($row["name"]));
        $sticky = ($row[sticky]=="yes" ? "" : "");

        $scene = ($row[scene]=="yes" ? "&nbsp;<img src='pic/scene.png' align='right' title='Scene' alt='Scene'/>" : "");
        $request = ($row[request]=="yes" ? "&nbsp;<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" ? "&nbsp;<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"]) . "&amp;");
        print("id=$id");
        if ($variant == "index")
            print("&amp;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"]) . "&amp;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&amp;hit=1&amp;filelist=1\">" . $row["numfiles"] . "</a></b></td>\n");
            else
                print("<td align=\"right\"><b><a href=\"details.php?id=$id&amp;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&amp;hit=1&amp;tocomm=1\">" . $row["comments"] . "</a></b></td>\n");
            else
                print("<td align=\"right\"><b><a href=\"details.php?id=$id&amp;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&amp;hit=1&amp;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&amp;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&amp;hit=1&amp;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&amp;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";

?>
Reply With Quote
  #2  
Old 5th August 2013, 09:59
Chez's Avatar
Chez Chez is offline
Senior Member
 
Join Date: Sep 2011
P2P
Posts: 278
Default
i can't see the demo image ... broken link, please reupload
__________________
http://www.bvlist.com/images/avatars/signaturepics/sigpic16443_2.gif
Reply With Quote
  #3  
Old 5th August 2013, 14:39
ratza ratza is offline
Senior Member
 
Join Date: Jun 2009
P2P
Posts: 21
Default
Is tooltip details,but the tutorial that is on the website isn't for my bittorrents.php,is different :(

Click the image to open in full size.
Reply With Quote
  #4  
Old 5th August 2013, 15:25
Chez's Avatar
Chez Chez is offline
Senior Member
 
Join Date: Sep 2011
P2P
Posts: 278
Default
try this : http://www.bvlist.com/mods-themes/725-tooltips.html
__________________
http://www.bvlist.com/images/avatars/signaturepics/sigpic16443_2.gif
Reply With Quote
  #5  
Old 5th August 2013, 15:28
ratza ratza is offline
Senior Member
 
Join Date: Jun 2009
P2P
Posts: 21
Default
That is what i tried,is not good.my bittorrents.php is different :(
Reply With Quote
  #6  
Old 5th August 2013, 16:35
Chez's Avatar
Chez Chez is offline
Senior Member
 
Join Date: Sep 2011
P2P
Posts: 278
Default
Do you have TBDev 2008?
__________________
http://www.bvlist.com/images/avatars/signaturepics/sigpic16443_2.gif
Reply With Quote
The Following User Says Thank You to Chez For This Useful Post:
ratza (4th November 2014)
  #7  
Old 5th August 2013, 16:38
ratza ratza is offline
Senior Member
 
Join Date: Jun 2009
P2P
Posts: 21
Default
define ('TBVERSION','TBDEV.NET-12-09-05');
Reply With Quote
  #8  
Old 5th August 2013, 16:46
Chez's Avatar
Chez Chez is offline
Senior Member
 
Join Date: Sep 2011
P2P
Posts: 278
Default
attention

Attention

You will need to have POSTER MOD to work!





Try this:

in bittorrent after <head> add this:
PHP Code:
<script type="text/javascript" src="overlib.js"></script> 
then after <body> add

PHP Code:
<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div
still in bittorrent.php find this:
PHP Code:
print($row["cat_name"]);
            print(
"</a>");
        }
        else
            print(
"-");
        print(
"</td>\n"); 
add after it this

PHP Code:
        $preparing_baloon=mysql_query("SELECT poster FROM torrents WHERE id=$id LIMIT 0, 255") or sqlerr();
        
$poster=mysql_fetch_array($preparing_baloon);
        
$poster=$poster[poster];
if (!empty(
$arr["poster"])){
$poster1 "<table border=0 class=embedded cellspacing=0><td border=0 class=embedded align=center width=100% height=220><img src=$poster width=150 height=220></td>";
}
else{
$poster1 "<table border=0 class=embedded cellspacing=0><td border=0 class=embedded align=center width=100% height=220><img src=/pic/noposter.png width=100% height=220></td>";

so it is look like this

PHP Code:
                print($row["cat_name"]);
            print(
"</a>");
        }
        else
            print(
"-");
        print(
"</td>\n"); 
        
$preparing_baloon=mysql_query("SELECT poster FROM torrents WHERE id=$id LIMIT 0, 255") or sqlerr();
        
$poster=mysql_fetch_array($preparing_baloon);
        
$poster=$poster[poster];
if (!empty(
$arr["poster"])){
$poster1 "<table border=0 class=embedded cellspacing=0><td border=0 class=embedded align=center width=100% height=220><img src=$poster width=150 height=220></td>";
}
else{
$poster1 "<table border=0 class=embedded cellspacing=0><td border=0 class=embedded align=center width=100% height=220><img src=/pic/noposter.png width=100% height=220></td>";

now find this

PHP Code:
          print("\" title=\"" $dispname "\"><b>" CutName($dispname$char) . " <img src=pic/new.png></a> 
Replace with this

PHP Code:
             print("\"onmouseover=\"return overlib('<td><img src=$poster width=150 height=220></td>',  WIDTH, 150, DELAY, 200);\" onmouseout=\"return nd();\";><b>$dispname</b></a> <img src=pic/new.png></a> 
then find this

PHP Code:
         else

             print(
"\" title=\"" $dispname ."\"><b>" CutName($dispname$char) . "</b></a> 
Replace with this

PHP Code:
             print("\"onmouseover=\"return overlib('<td><img src=$poster width=150 height=220></td>',  WIDTH, 150, DELAY, 200);\" onmouseout=\"return nd();\";><b>$dispname</b></a> 
That's it
__________________
http://www.bvlist.com/images/avatars/signaturepics/sigpic16443_2.gif
Reply With Quote
The Following User Says Thank You to Chez For This Useful Post:
ratza (4th November 2014)
  #9  
Old 5th August 2013, 16:54
ratza ratza is offline
Senior Member
 
Join Date: Jun 2009
P2P
Posts: 21
Default
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>
no other <head. or <body> so i don't know where to add the the first 2 points
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 :((
Reply With Quote
The Following 2 Users Say Thank You to ratza For This Useful Post:
Bobert (16th September 2013), nicukent (4th May 2014)
Reply

Tags
browsephp , details , mod , request

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT +2. The time now is 21:28. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.