Bravo List

Bravo List (http://www.bvlist.com/index.php)
-   TBDev (http://www.bvlist.com/forumdisplay.php?f=20)
-   -   [Mod Request] Details in browse.php (http://www.bvlist.com/showthread.php?t=9378)

\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 "$t";
    return "$t";
}




















function parsedescr($d, $html) {

    if (!$html)

    {

      $d = htmlspecialchars($d);

      $d = str_replace("\n", "\n", $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");



    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("

" . htmlspecialchars($y) . "

\n");
    print("

" . htmlspecialchars($x) . "

\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("

Not Found

\n");
    print("

Sorry pal :(

\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 = "<< Prev";
    if ($page >= 1) {
        $pager .= "";
        $pager .= $as;
        $pager .= "
";
    }
    else
        $pager .= $as;
    $pager .= "      ";
    $as = "Next >>";
    if ($page < $mp && $mp >= 0) {
        $pager .= "";
        $pager .= $as;
        $pager .= "
";
    }
    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[] = "$text";
            else
                $pagerarr[] = "$text";
        }
        $pagerstr = join(" | ", $pagerarr);
        $pagertop = "

$pager$pagerstr

\n";
        $pagerbottom = "

$pagerstr$pager

\n";
    }
    else {
        $pagertop = "

$pager

\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 = "$ratio";
 }
 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 ("
style=\"position:absolute; width:140px; height:40px; border:1px solid black; display:none;
background-color:COCOCO\" align='center'> Downloaded: $downloaded
  Uploaded: $uploaded  Ratio: $ratio
\n");
// end add popup to display
 
              print("

#" . $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("             " href=userdetails.php?id=" . $row["user"] . ">" .
            htmlspecialchars($row["username"]) . "
" . ($row["donor"] == "yes" ? "Donor" : "") . ($row["warned"] == "yes" ? "\"Warned\"" : "") . " ($title) [$clas]\n");

                }
                else
                  print("(orphaned)\n");

                print(" at " . $row["added"] . " GMT" .
                        ($row["user"] == $CURUSER["id"] || get_user_class() >= UC_MODERATOR ? "- [Edit]" : "") .
                        (get_user_class() >= UC_MODERATOR ? "- [Delete]" : "") .
                        ($row["editedby"] && get_user_class() >= UC_MODERATOR ? "- [View original]" : "") . "

\n");
                $avatar = ($CURUSER["avatars"] == "yes" ? htmlspecialchars($row["avatar"]) : "");
                if (!$avatar)
                        $avatar = "/pic/default_avatar.gif";
                $text = format_comment($row["text"]);
    if ($row["editedby"])
            $text .= "

Last edited by $row[username] at $row[editedat] GMT

\n";
                begin_table(true);
                print("\n");
                print("\n");
                print("\n");
                print("\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 "\"rating:";
}

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;
  }
?>
ratza 4th August 2013 23:38

[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 ****/

// 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("".
"".
"".
"".
"".
"".
"");


/// 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 = "" . $arr["added"] . "";

/// 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 = "$arr[username]";
}
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 = "$arr[username]";
}
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 = "" . encodehtml($topicarr["subject"]) . "";

print("".
"" .
"".
"" .
"");

print("");
} // while

print("
Topic TitleRepliesViewsAuthorLast Post
$subject$replies$views$author$addedby $username
");
} // 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("

The server load is very high at the moment. Retrying, please wait...




");
                        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("

403 Forbidden

Unauthorized IP address.\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", "\n", $a);
    }
    print("
$x$a
$text




// 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"; }

?>



if ($wait)
{
print("\n");
}

if ($variant == "mytorrents")
{
print("\n");
print("\n");
}

?>








        if (get_user_class() > UC_UPLOADER)

if ($variant == "index")
print("\n");
if ($variant == "index")
print("\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 = "\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("\n");
} else {
print("\n");
}
print("\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" ? " Scene" : "");
        $request = ($row[request]=="yes" ? " 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 = "
Type Nume DL Wait EditVisible Files Comm Size Upped by
Torentele Adaugate:   $day_added  2009
");
if (isset($row["cat_name"])) {

            print("");
            if (isset($row["cat_pic"]) && $row["cat_pic"] != "")
  print("\""");
            else
                print($row["cat_name"]);
            print("
");
        }
        else
            print("-");
        print("
";
        }
        else
        $poster3 = "
";
        $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("\n");
                }
                else
                  print("\n");
        }


      if ($row["nfoav"] && get_user_class() >= UC_POWER_USER)
          print("View NFO\n");

if ($variant == "index")
print("\n");

        else
if ($variant == "mytorrents")
            print("\n");
        if ($variant == "mytorrents") {
            print("\n");
        }


        if ($row["type"] == "single")
            print("\n");
        else {
            if ($variant == "index")
                print("\n");
            else
                print("\n");
        }

        if (!$row["comments"])
            print("\n");
        else {
            if ($variant == "index")
                print("\n");
            else
                print("\n");
        }

/*
        print("\n");
*/

        print("\n");
//        print("\n");
//        print("\n");
        $_s = "";
        if ($row["times_completed"] != 1)
          $_s = "s";
        print("\n");
        if ($row["seeders"]) {
            if ($variant == "index")
            {
              if ($row["leechers"]) $ratio = $row["seeders"] / $row["leechers"]; else $ratio = 1;
                print("\n");
            }
            else
                print("\n");
        }
        else
            print("\n");

        if ($row["leechers"]) {
            if ($variant == "index")
                print("\n");
            else
                print("\n");
        }
        else
            print("\n");

        if (get_user_class() > UC_VIP)
if ($variant == "index") {
if ($row["anonymous"] == "yes") {
 print("\n");
 }
else {
 print("\n");
 }
}

        print("\n");
    }

    print("
        if ($variant == "mytorrents")
            print("returnto=" . urlencode($_SERVER["REQUEST_URI"]) . "&");
        print("id=$id");
        if ($variant == "index")
            print("&hit=1");
       
        $thisisfree = ($row[free]=="yes" ? "
" : "");
        $nuked = ($row[nuked]=="yes" ? " Nuked" : "");     
    if (sql_timestamp_to_unix_timestamp($row["added"]) >= $last_browse)

              print("\" onmouseover=\"{overlib('$poster3', WIDTH, 150, DELAY, 100);}\" onmouseout=\"return nd();\">$dispname
NEW
$nuked $thisisfree $sticky $scene $request$doubleuptag $description\n");
          else
              print("\" onmouseover=\"{overlib('$poster3', WIDTH, 150, DELAY, 100);}\" onmouseout=\"return nd();\">$dispname$nuked $thisisfree $scene $sticky $request$doubleuptag $description\n");
       
        $res2 = mysql_query("SELECT torrents.poster FROM torrents WHERE torrents.id = $id") or sqlerr();
        print("
        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("
" . number_format($wait - $elapsed) . " hNone Download edit\n");
print("
");
            if ($row["visible"] == "no")
                print("no");
            else
                print("yes");
            print("
" . $row["numfiles"] . "" . $row["numfiles"] . "" . $row["numfiles"] . " " . $row["comments"] . "" . $row["comments"] . "" . $row["comments"] . " ");
        if (!isset($row["rating"]))
            print("---");
        else {
            $rating = round($row["rating"] * 2) / 2;
            $rating = ratingpic($row["rating"]);
            if (!isset($rating))
                print("---");
            else
                print($rating);
        }
        print("
" . str_replace(" ", "", mksize($row["size"])) . "" . $row["views"] . "" . $row["hits"] . "" .          number_format($row["times_completed"]) . "time$_s" . $row["seeders"] . "" .
                  $row["seeders"] . "
" . $row["seeders"] . " " .
                  number_format($row["leechers"]) . ($peerlink ? "
" : "") .
                  "
" .
                  $row["leechers"] . "
0 Anonymous" . (isset($row["username"]) ? ("" . htmlspecialchars($row["username"]) . "") : "(unknown)") . "
\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" ? "Donor" : "";
        if ($arr["enabled"] == "yes")
                $pics .= $arr["warned"] == "yes" ? "\"Warned\"" : "";
        else
                $pics .= "\"Disabled\"\n";
        return $pics;
}

function parked()
{
      global $CURUSER;
      if ($CURUSER["parked"] == "yes")
 stderr("Error", "Your account is parked.");
}

require "global.php";

?>

Chez 5th August 2013 09:59

i can't see the demo image ... broken link, please reupload

ratza 5th August 2013 14:39

Is tooltip details,but the tutorial that is on the website isn't for my bittorrents.php,is different :(

http://img708.imageshack.us/img708/1821/qy0x.png

Chez 5th August 2013 15:25

try this : http://www.bvlist.com/mods-themes/725-tooltips.html

ratza 5th August 2013 15:28

That is what i tried,is not good.my bittorrents.php is different :(

Chez 5th August 2013 16:35

Do you have TBDev 2008?

ratza 5th August 2013 16:38

define ('TBVERSION','TBDEV.NET-12-09-05');

Chez 5th August 2013 16:46

attention

Attention

You will need to have POSTER MOD to work!





Try this:

in bittorrent after add this:
PHP Code:

<script type="text/javascript" src="overlib.js"></script> 

then after 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

ratza 5th August 2013 16:54

1. and is found only for the error page

Code:


no other so i don't know where to add the the first 2 points
2.can't find
Code:

print("\" title=\"" . $dispname . "\">" . CutName($dispname, $char) . "  

the tutorial i think is what i was searching for but can't make these steps :((


All times are GMT +2. The time now is 16:04.

Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.