Bravo List
Register
Go Back   > Bravo List > Source Code > Archived Trackers > Torrent Strike
Reply
  #1  
Old 17th June 2011, 02:34
lechatsauvage lechatsauvage is offline
Member
 
Join Date: Mar 2010
P2P
Posts: 3
Default Torrent Strike multi BBCODE
Isearched on the forum and didn'T find an answer to this. I want to enable BBCODE in torrent description. here's my details.php

PHP Code:
<?

ob_start
("ob_gzhandler");

require_once(
"include/bittorrent.php");


function 
getagent($httpagent)
{
    if (
preg_match("/^Azureus ([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/"$httpagent$matches))
        return 
"Azureus/$matches[1]";
    elseif (
preg_match("/BitTorrent\\/S-([0-9]+\\.[0-9]+(\\.[0-9]+)*)/"$httpagent$matches))
        return 
"Shadow's/$matches[1]";
    elseif (
preg_match("/BitTorrent\\/U-([0-9]+\\.[0-9]+\\.[0-9]+)/"$httpagent$matches))
        return 
"UPnP/$matches[1]";
    elseif (
preg_match("/^BitTorrent\\/T-(.+)$/"$httpagent$matches))
        return 
"BitTornado/$matches[1]";
    elseif (
preg_match("/^BitTorrent\\/([0-9]+\\.[0-9]+(\\.[0-9]+)*)/"$httpagent$matches))
        return 
"BitTorrent/$matches[1]";
    elseif (
preg_match("/^Python-urllib\\/.+?, BitTorrent\\/([0-9]+\\.[0-9]+(\\.[0-9]+)*)/"$httpagent$matches))
        return 
"BitTorrent/$matches[1]";
    elseif (
ereg("^BitTorrent\\/BitSpirit$"$httpagent))
        return 
"BitSpirit";
    elseif (
preg_match("/^BitTorrent\\/brst(.+)/"$httpagent$matches))
        return 
"Burst/$matches[1]";
    elseif (
preg_match("/^RAZA (.+)$/"$httpagent$matches))
        return 
"Shareaza/$matches[1]";
    else
        return 
"---";
}

function 
dltable($name$arr$torrent)
{

    global 
$CURUSER;
    
$s "<b>" count($arr) . $name</b><br/><br/>\n";
    if (!
count($arr))
        return 
$s;
    
$s .= "\n";
    
$s .= "<table width=\"100%\" class=\"coltable\" cellspacing=\"1\" >\n";
    
$s .= "<tr><td class=\"colhead\">" .D_USER_IP"</td>" .
          
"<td class=\"colhead\" align=\"center\">" .D_CONNECTABLE"</td>".
          
"<td class=\"colhead\" align=\"right\">" .D_UPLOADED"</td>".
          
"<td class=\"colhead\" align=\"center\">" .D_RATE"</td>".
          
"<td class=\"colhead\" align=\"right\">" .D_DOWNLOADED"</td>" .
          
"<td class=\"colhead\" align=\"center\">" .D_RATE"</td>" .
          
"<td class=\"colhead\" align=\"right\">" .D_RATIO"</td>" .
          
"<td class=\"colhead\" align=\"right\">" .D_COMPLETE"</td>" .
          
"<td class=\"colhead\" align=\"right\">" .D_CONNECTED"</td>" .
          
"<td class=\"colhead\" align=\"right\">" .D_IDLE"</td>" .
          
"<td class=\"colhead\" align=\"left\">" .D_CLIENT"</td></tr>\n";
    
$now time();
    
$moderator = (isset($CURUSER) && get_user_class() >= UC_MODERATOR);
$mod get_user_class() >= UC_MODERATOR;
    foreach (
$arr as $e) {


                
// user/ip/port
                // check if anyone has this ip
                
($unr mysql_query("SELECT username, privacy FROM users WHERE id=$e[userid] ORDER BY last_access DESC LIMIT 1")) or die;
                
$una mysql_fetch_array($unr);
                if (
$una["privacy"] == "strong") continue;
        
$s .= "<tr>\n";
                if (
$una["username"])
                  
$s .= "<td class=\"row1\"><a href=\"userdetails.php?id=$e[userid]\"><b>$una[username]</b></a></td>\n";
                else
                  
$s .= "<td class=\"row1\">" . ($mod $e["ip"] : preg_replace('/\.\d+$/'".xxx"$e["ip"])) . "</td>\n";
        
$secs max(1, ($now $e["st"]) - ($now $e["la"]));
        
$revived $e["revived"] == "yes";
        
$s .= "<td class=\"row1\" align=\"center\">" . ($e[connectable] == "yes" "Yes" "<font color=\"red\">No</font>") . "</td>\n";
        
$s .= "<td class=\"row1\" align=\"right\">" mksize($e["uploaded"]) . "</td>\n";
        
$s .= "<td class=\"row1\" align=\"right\"><nobr>" mksize(($e["uploaded"] - $e["uploadoffset"]) / $secs) . "/s</nobr></td>\n";
        
$s .= "<td class=\"row1\" align=\"right\">" mksize($e["downloaded"]) . "</td>\n";
        if (
$e["seeder"] == "no")
            
$s .= "<td class=\"row1\" align=\"right\"><nobr>" mksize(($e["downloaded"] - $e["downloadoffset"]) / $secs) . "/s</nobr></td>\n";
        else
            
$s .= "<td class=\"row1\" align=\"right\"><nobr>" mksize(($e["downloaded"] - $e["downloadoffset"]) / max(1$e["finishedat"] - $e[st])) .    "/s</nobr></td>\n";
                if (
$e["downloaded"])
                {
                  
$ratio floor(($e["uploaded"] / $e["downloaded"]) * 1000) / 1000;
                    
$s .= "<td class=\"row1\" align=\"right\"><font color=\"" get_ratio_color($ratio) . "\">" number_format($ratio3) . "</font></td>\n";
                }
                   else
                  if (
$e["uploaded"])
                    
$s .= "<td class=\"row1\" align=\"right\">Inf.</td>\n";
                  else
                    
$s .= "<td class=\"row1\" align=\"right\">---</td>\n";
        
$s .= "<td class=\"row1\" align=\"right\">" sprintf("%.2f%%"100 * (- ($e["to_go"] / $torrent["size"]))) . "</td>\n";
        
$s .= "<td class=\"row1\" align=\"right\">" mkprettytime($now $e["st"]) . "</td>\n";
        
$s .= "<td class=\"row1\" align=\"right\">" mkprettytime($now $e["la"]) . "</td>\n";
        
$s .= "<td class=\"row1\" align=\"left\">" htmlspecialchars(getagent($e["agent"])) . "</td>\n";
        
$s .= "</tr>\n";
    }
    
$s .= "</table>\n";
    return 
$s;
}



loggedinorreturn();

$id $_GET["id"];

if (!isset(
$id) || !$id)
    die();

$res mysql_query("SELECT torrents.seeders, torrents.banned, torrents.leechers, torrents.info_hash, torrents.filename, LENGTH(torrents.nfo) AS nfosz, UNIX_TIMESTAMP() - UNIX_TIMESTAMP(torrents.last_action) AS lastseed, torrents.numratings, torrents.name, IF(torrents.numratings < $minvotes, NULL, ROUND(torrents.ratingsum / torrents.numratings, 1)) AS rating, torrents.owner, torrents.save_as, torrents.descr, torrents.visible, torrents.size, torrents.added, torrents.views, torrents.hits, torrents.times_completed, torrents.id, torrents.type, torrents.numfiles, categories.name AS cat_name, users.username FROM torrents LEFT JOIN categories ON torrents.category = categories.id LEFT JOIN users ON torrents.owner = users.id WHERE torrents.id = $id")
    or 
sqlerr();
$row mysql_fetch_array($res);

$owned $moderator 0;
    if (
get_user_class() >= UC_MODERATOR)
        
$owned $moderator 1;
    elseif (
$CURUSER["id"] == $row["owner"])
        
$owned 1;
//}

if (!$row || ($row["banned"] == "yes" && !$moderator))
    
stderr("Error""" .NO_TORRENT_WITH_ID"");
else {
    if (
$_GET["hit"]) {
        
mysql_query("UPDATE torrents SET views = views + 1 WHERE id = $id");
        if (
$_GET["tocomm"])
            
header("Location: $BASEURL/details.php?id=$id&page=0#startcomments");
        elseif (
$_GET["filelist"])
            
header("Location: $BASEURL/details.php?id=$id&filelist=1#filelist");
        elseif (
$_GET["toseeders"])
            
header("Location: $BASEURL/details.php?id=$id&dllist=1#seeders");
        elseif (
$_GET["todlers"])
            
header("Location: $BASEURL/details.php?id=$id&dllist=1#leechers");
        else
            
header("Location: $BASEURL/details.php?id=$id");
        exit();
    }

    if (!isset(
$_GET["page"])) {
        
stdhead("" .D_DETAILS_FOR_TORRENT"\"" $row["name"] . "\"");

        if (
$CURUSER["id"] == $row["owner"] || get_user_class() >= UC_MODERATOR)
            
$owned 1;
        else
            
$owned 0;

        
$spacer "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";

        if (
$_GET["uploaded"]) {
            print(
"<h2>" .D_SUCCESSFULLY_UPLOADED"</h2>\n");
            print(
"<p>" .D_YOU_CAN_START_SEEDING_NOW"</p>\n");
        }
        elseif (
$_GET["edited"]) {
            print(
"<h2>" .D_SUCCESSFULLY_EDITED"</h2>\n");
            if (isset(
$_GET["returnto"]))
                print(
"<p><b>" .D_GO_BACK_TO"<a href=\"" htmlspecialchars($_GET["returnto"]) . "\">" .D_WHENCE_YOU_CAME"</a>.</b></p>\n");
        }
        elseif (isset(
$_GET["searched"])) {
            print(
"<h2>" .D_YOUR_SEARCH_FOR"\"" htmlspecialchars($_GET["searched"]) . "\"" .D_GAVE_A_SINGLE_RESULT"</h2>\n");
        }
        elseif (
$_GET["rated"])
            print(
"<h2>" .D_RATING_ADDED"</h2>\n");

$s=$row["name"];
        print(
"<h1>$s</h1>\n");
                
//print("<table width=750 border=\"1\" cellspacing=\"0\" cellpadding=\"5\">\n");
                
begin_frame("" .D_DETAILS_FOR_TORRENT"\"" $row["name"] . "\"",false,5,750);
                
begin_table();

        
$url "edit.php?id=" $row["id"];
        if (isset(
$_GET["returnto"])) {
            
$addthis "&amp;returnto=" urlencode($_GET["returnto"]);
            
$url .= $addthis;
            
$keepget .= $addthis;
        }
        
$editlink "a href=\"$url\" class=\"sublink\"";

//        $s = "<b>" . htmlspecialchars($row["name"]) . "</b>";
//        if ($owned)
//            $s .= " $spacer<$editlink>[Edit torrent]</a>";
//        tr("Name", $s, 1);

        
$wait 0;
        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;
            
$elapsed floor((gmtime() - strtotime($row["added"])) / 3600);
            if (
$elapsed $wait)
                
$wait number_format($wait $elapsed);

        }
        print(
"<tr><td align=\"right\" class=\"rowhead\" width=\"1%\">" .D_DOWNLOAD"</td><td class=\"row1\" width=\"99%\" align=\"left\">");
        if (
$owned || ($wait==0))
            print(
"<a class=\"index\" href=\"download.php/$id/" rawurlencode($row["filename"]) . "\">" htmlspecialchars($row["filename"]) . "</a>");
        else
            print(
"" .D_YOU_HAVE_TO_WAIT"".$wait." " .D_HOURS_TO_DOWNLOAD_THIS_FILE"");

        print(
"</td></tr>");
//        tr("Downloads&nbsp;as", $row["save_as"]);

        
function hex_esc($matches) {
            return 
sprintf("%02x"ord($matches[0]));
        }
        
tr("" .D_INFO_HASH""preg_replace_callback('/./s'"hex_esc"hash_pad($row["info_hash"])));

        if (!empty(
$row["descr"]))
            
tr("" .D_DESCRIPTION""str_replace(array("\n""  "), array("<br>\n""&nbsp; "), format_urls(htmlspecialchars($row["descr"]))), 1);

if (
get_user_class() >= UC_POWER_USER && $row["nfosz"] > 0)
  print(
"<tr><td align=\"right\" class=\"rowhead\">" .D_NFO"</td><td class=\"row1\" align=\"left\"><a href=\"viewnfo.php?id=$row[id]\"><b>" .D_VIEW_NFO"</b></a> (" .
     
mksize($row["nfosz"]) . ")</td></tr>\n");
        if (
$row["visible"] == "no")
            
tr("" .D_VISIBLE"""<b>" .D_NO"</b> (dead)"1);
        if (
$moderator)
            
tr("" .D_BANNED""$row["banned"]);

        if (isset(
$row["cat_name"]))
            
tr("" .D_TYPE""$row["cat_name"]);
        else
            
tr("" .D_TYPE"""(" .D_NONE_SELLECTED")");

        
tr("" .D_LAST_SEEDER"""Last activity " mkprettytime($row["lastseed"]) . " ago");
        
tr("" .D_SIZE"",mksize($row["size"]) . " (" number_format($row["size"]) . " bytes)");

        
$s "";
        
$s .= "<table class=\"row1\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr ><td valign=\"top\" class=\"embedded\">";
        if (!isset(
$row["rating"])) {
            if (
$minvotes 1) {
                
$s .= "none yet (needs at least $minvotes votes and has got ";
                if (
$row["numratings"])
                    
$s .= "only" $row["numratings"];
                else
                    
$s .= "none";
                
$s .= ")";
            }
            else
                
$s .= "" .D_NO_VOTES_YET"";
        }
        else {
            
$rpic ratingpic($row["rating"]);
            if (!isset(
$rpic))
                
$s .= "invalid?";
            else
                
$s .= "$rpic (" $row["rating"] . " out of 5 with " $row["numratings"] . " vote(s) total)";
        }
        
$s .= "\n";
        
$s .= "</td><td class=\"embedded\">$spacer</td><td valign=\"top\" class=\"embedded\">";
        if (!isset(
$CURUSER))
            
$s .= "(<a href=\"login.php?returnto=" urlencode($_SERVER["REQUEST_URI"]) . "&amp;nowarn=1\">Log in</a> to rate it)";
        else {
            
$ratings = array(
                    
=> "" .D_KEWL"",
                    
=> "" .D_PRETTY_GOOD"",
                    
=> "" .D_DECENT"",
                    
=> "" .D_PRETTY_BAD"",
                    
=> "" .D_SUCKS"",
            );
            if (!
$owned || $moderator) {
                
$xres mysql_query("SELECT rating, added FROM ratings WHERE torrent = $id AND user = " $CURUSER["id"]);
                
$xrow mysql_fetch_array($xres);
                if (
$xrow)
                    
$s .= "(" .D_YOU_RATED_THIS_TORRENT_AS"\"" $xrow["rating"] . " - " $ratings[$xrow["rating"]] . "\")";
                else {
                    
$s .= "<form method=\"post\" action=\"takerate.php\"><input type=\"hidden\" name=\"id\" value=\"$id\" />\n";
                    
$s .= "<select name=\"rating\">\n";
                    
$s .= "<option value=\"0\">(" .D_ADD_RATING")</option>\n";
                    foreach (
$ratings as $k => $v) {
                        
$s .= "<option value=\"$k\">$k - $v</option>\n";
                    }
                    
$s .= "</select>\n";
                    
$s .= "<input type=\"submit\" value=\"" .D_VOTE"\" />";
                    
$s .= "</form>\n";
                }
            }
        }
        
$s .= "</td></tr></table>";
        
tr("" .D_RATING""$s1);


        
tr("" .D_ADDED""$row["added"]);
        
tr("" .D_VIEWS""$row["views"]);
        
tr("" .D_HITS""$row["hits"]);
        
tr("" .D_SNATCHED""$row["times_completed"] . " time(s)");

        
$keepget "";
        
$uprow = (isset($row["username"]) ? ("<a href=\"userdetails.php?id=" $row["owner"] . "\"><b>" htmlspecialchars($row["username"]) . "</b></a>") : "<i>unknown</i>");
        if (
$owned)
            
$uprow .= $spacer<$editlink><b>[" .D_EDIT_THIS_TORRENT"]</b></a>";
        
tr("Upped by"$uprow1);

        if (
$row["type"] == "multi") {
            if (!
$_GET["filelist"])
                
tr("" .D_NUM_FILES"<br /><a href=\"details.php?id=$id&amp;filelist=1$keepget#filelist\" class=\"sublink\">[See full list]</a>"$row["numfiles"] . " files"1);
            else {
                
tr("" .D_NUM_FILES""$row["numfiles"] . " files"1);

                
$s "<table class=\"main\" border=\"1\" cellspacing=\"0\" cellpadding=\"5\">\n";

                
$subres mysql_query("SELECT * FROM files WHERE torrent = $id ORDER BY id");
$s.="<tr><td class=colhead>" .D_PATH"</td><td class=colhead align=right>" .D_SIZE"</td></tr>\n";
                while (
$subrow mysql_fetch_array($subres)) {
                    
$s .= "<tr><td>" $subrow["filename"] .
                            
"</td><td align=\"right\">" mksize($subrow["size"]) . "</td></tr>\n";
                }

                
$s .= "</table>\n";
                
tr("<a name=\"filelist\">" .D_FILE_LIST"</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[" .D_HIDE_LIST"]</a>"$s1);
            }
        }

        if (!
$_GET["dllist"]) {
            
/*
            $subres = mysql_query("SELECT seeder, COUNT(*) FROM peers WHERE torrent = $id GROUP BY seeder");
            $resarr = array(yes => 0, no => 0);
            $sum = 0;
            while ($subrow = mysql_fetch_array($subres)) {
                $resarr[$subrow[0]] = $subrow[1];
                $sum += $subrow[1];
            }
            tr("Peers<br /><a href=\"details.php?id=$id&amp;dllist=1$keepget#seeders\" class=\"sublink\">[See full list]</a>", $resarr["yes"] . " seeder(s), " . $resarr["no"] . " leecher(s) = $sum peer(s) total", 1);
            */
            
tr("" .D_PEERS"<br /><a href=\"details.php?id=$id&amp;dllist=1$keepget#seeders\" class=\"sublink\">[" .D_SEE_FULL_LIST"]</a>"$row["seeders"] . " seeder(s), " $row["leechers"] . " leecher(s) = " . ($row["seeders"] + $row["leechers"]) . " peer(s) total"1);
        }
        else {
            
$downloaders = array();
            
$seeders = array();
            
$subres mysql_query("SELECT seeder, finishedat, downloadoffset, uploadoffset, ip, port, uploaded, downloaded, to_go, UNIX_TIMESTAMP(started) AS st, connectable, agent, UNIX_TIMESTAMP(last_action) AS la, userid FROM peers WHERE torrent = $id") or sqlerr();
            while (
$subrow mysql_fetch_array($subres)) {
                if (
$subrow["seeder"] == "yes")
                    
$seeders[] = $subrow;
                else
                    
$downloaders[] = $subrow;
            }

            function 
leech_sort($a,$b) {
                                if ( isset( 
$_GET["usort"] ) ) return seed_sort($a,$b);                
                                
$x $a["to_go"];
                
$y $b["to_go"];
                if (
$x == $y)
                    return 
0;
                if (
$x $y)
                    return -
1;
                return 
1;
            }
            function 
seed_sort($a,$b) {
                
$x $a["uploaded"];
                
$y $b["uploaded"];
                if (
$x == $y)
                    return 
0;
                if (
$x $y)
                    return 
1;
                return -
1;
            }

            
usort($seeders"seed_sort");
            
usort($downloaders"leech_sort");

            
tr("<a name=\"seeders\">" .D_SEEDERS"</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[" .D_HIDE_LIST"]</a>"dltable("Seeder(s)"$seeders$row), 1);
            
tr("<a name=\"leechers\">" .D_LEECHERS"</a><br /><a href=\"details.php?id=$id$keepget\" class=\"sublink\">[" .D_HIDE_LIST"]</a>"dltable("Leecher(s)"$downloaders$row), 1);
        }

        
//print("</table></p>\n");
        
end_table();
        
end_frame();
    }
    else {
        
stdhead("" .D_COMMENTS_FOR_TORRENT"\"" $row["name"] . "\"");
        print(
"<h1>" .D_COMMENTS_FOR"<a href=\"details.php?id=$id\">" $row["name"] . "</a></h1>\n");
//        print("<p><a href=\"details.php?id=$id\">" .D_BACK_TO_FULL_DETAILS. "</a></p>\n");
    
}

    print(
"<p><a name=\"" .D_START_COMMENTS"\"></a></p>\n");

    
$commentbar "<p align=\"center\"><a class=\"index\" href=\"comment.php?action=add&amp;tid=$id\">" .D_ADD_A_COMMENT"</a></p>\n";

    
$subres mysql_query("SELECT COUNT(*) FROM comments WHERE torrent = $id");
    
$subrow mysql_fetch_array($subres);
    
$count $subrow[0];

    if (!
$count) {
        print(
"<h2>" .D_NO_COMMENTS_YET"</h2>\n");
    }
    else {
        list(
$pagertop$pagerbottom$limit) = pager(20$count"details.php?id=$id&", array(lastpagedefault => 1));

        
$subres mysql_query("SELECT comments.id, text, user, comments.added, editedby, editedat, avatar, warned, ".
                  
"username, title, class, donor FROM comments LEFT JOIN users ON comments.user = users.id WHERE torrent = " .
                  
"$id ORDER BY comments.id $limit") or sqlerr(__FILE____LINE__);
        
$allrows = array();
        while (
$subrow mysql_fetch_array($subres))
            
$allrows[] = $subrow;

        print(
$commentbar);
        print(
$pagertop);

        
commenttable($allrows);

        print(
$pagerbottom);
    }

    print(
$commentbar);
}

stdfoot();

?>
Bump: Ok I fixed that.

I just changed:
PHP Code:
tr("" .D_DESCRIPTION""str_replace(array("\n""  "), array("<br>\n""&nbsp; "), format_urls(htmlspecialchars($row["descr"]))), 1); 
for
PHP Code:
tr("" .D_DESCRIPTION""str_replace(array("\n""  "), array("<br>\n""&nbsp; "), format_comment(htmlspecialchars($row["descr"]))), 1); 
__________________
www.Confuz3d.net

Last edited by lechatsauvage; 17th June 2011 at 02:43. Reason: SOLVED
Reply With Quote
Reply

Tags
bbcode , multi , strike , torrent

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 14:37. vBulletin skin by ForumMonkeys. Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.