Members   Search      Help    Register    Login    Home
Home » Discussion Forums » M0dZ & HaCkZ » torrent admin(check edit or delete multible torrents from one page)
torrent admin [message #2088] Sat, 31 May 2008 09:46 Go to next message
joeroberts is currently offline joeroberts  United States
Messages: 1971
Registered: June 2006
Location: U.S.A
Releaser
Da HacKer
Wish you could check edet delete torrents from one page?
with this you can you well need a new file called admin_torrents.php
<?php


include("header.php");
if (!
$user->moderator) loginrequired("admin");
?>
<SCRIPT LANGUAGE="JavaScript">
function marklist(id, name, state)
{
    var parent = document.getElementById(id);
    if (!parent)
    {
        eval('parent = document.' + id);
    }

    if (!parent)
    {
        return;
    }

    var rb = parent.getElementsByTagName('input');
    
    for (var r = 0; r < rb.length; r++)
    {    
        if (rb[r].name.substr(0, name.length) == name)
        {
            rb[r].checked = state;
        }
    }
}

</script>
<?php
$sort
=  $_GET["sort"];
$type =  $_GET["type"];
if (isset(
$sort))$sort1= "&sort=".$sort."&type=".$type;
else
$sort1="";
if (!isset(
$page) OR !is_numeric($page) OR $page < 1) $page = 1;
$from = ($page - 1) * $torrent_per_page;

$totsql = "SELECT COUNT(id) FROM ".$db_prefix."_torrents ;";
$totres = $db->sql_query($totsql);
list (
$tot) = $db->sql_fetchrow($totres);
$db->sql_freeresult($totres);

$pages = ceil($tot / 20);

if(
$page < $pages) {
        
$next = "<b><a href=\"admin_torrents.php?page=".($page+1).$sort1."\">>>>></a></b>";
} else {
        
$next = ">>>>";
}
if (
$page > 1) {
        
$prev = "<b><a href=\"admin_torrents.php?page=".($page-1).$sort1."\"><<<<</a></b>";
} else {
        
$prev = "<<<<";
}
$pager = "<a href=\"admin_torrents.php?".$sort1."\">".(($page == 1) ? "<b>1</b>" : "1")."</a>&nbsp;";

if ((
$page - 15) > 1) $pager .= "...";

for (
$i = max(2,$page - 15); $i < min($pages, $page + 15); $i++) {
        
$pager .= "<a href=\"admin_torrents.php?page=".$i.$sort1."\">".(($i == $page) ? "<b>".$i."</b>" : $i)."</a>&nbsp;";
}
if ((
$page + 15) < $pages) $pager .= "...";
$pager .= "<a href=\"admin_torrents.php?page=".$pages.$sort1."\">".(($page == $pages) ? "<b>".$pages."</b>" : $pages)."</a>";
foreach (
$_GET as $get_name => $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 . "&";
}else{
$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"; }
$orderby = " ORDER BY evidence DESC ";//
if ($sort == 1) $orderby = " ORDER BY name $type  ";//

if ($sort == 2){
$orderby = " ORDER BY tracker $type  ";//
}
if (
$sort == 3){
$orderby = " ORDER BY comments $type  ";//
}
if (
$sort == 4){
$orderby = " ORDER BY category $type  ";//
}
if (
$sort == 5){
$orderby = " ORDER BY size $type  ";
}
if (
$sort == 6){
$orderby = " ORDER BY times_completed $type  ";
}
if (
$sort == 7){
$orderby = " ORDER BY seeders $type  ";//
}
if (
$sort == 8){
$orderby = " ORDER BY leechers $type  ";//
}
        echo
"<form method=\"POST\" id=\"viewfolder\" name=\"torrents\" action=\"edit.php\">\n";
        echo
"<input type=\"hidden\" name=\"op\" value=\"admin_delete\" />\n";

echo
"<table align=center cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#D6D9DB\" width=\"100%\" border=\"1\">";
echo
"<tr>";
echo
"<td class=alt3 align=center><p><a href=\"admin_torrents.php".$oldlink."sort=1&amp;type=$link1\" title=\"Sort by "._btname." ".$link1."\">"._btname."</a></p></td>";
echo
"<td class=alt3 align=center><p><a href=\"admin_torrents.php".$oldlink."sort=2&amp;type=$link2\" title=\"Sort by Tracker ".$link1."\">Tracker</a></p></td>";
echo
"<td class=alt3 align=center><p>Visible</p></td>";
echo
"<td class=alt3 align=center><p>Banned</p></td>";
echo
"<td class=alt3 align=center><p>Link</p></td>";
echo
"<td class=alt3 align=center><p><a href=\"admin_torrents.php".$oldlink."sort=7&amp;type=$link7\" title=\"Sort by "._btseeders." ".$link7."\">"._btseeders."</a></p></td>";
echo
"<td class=alt3 align=center><p><a href=\"admin_torrents.php".$oldlink."sort=8&amp;type=$link8\" title=\"Sort by "._btleechers." ".$link8."\">"._btleechers."</a></p></td>";
echo
"<td class=alt3 align=center><p>External?</p></td>";
echo
"<td class=alt3 align=center><p>Edit/bann</p></td>";
echo
"<td class=alt3 align=center><p>View</p></td>";
echo
"<td class=alt3 align=center><p>Dellete?</p></td>";
echo
"</tr>";
$rqq = "SELECT * FROM ".$db_prefix."_torrents " . $orderby . " LIMIT ".$from.", ".$torrent_per_page.";";
$resqq = $db->sql_query($rqq) or btsqlerror($rqq);
while (
$row = $db->sql_fetchrow($resqq))
{
$num2 = $db->sql_numrows($resqq);
if (
$num2 > 1)
{
$uc++;
}
if(
$uc%2 == 0)
$utc = $btback1;
else
$utc = $btback2;
$i++;
extract ($row);
if(
$row['tracker'] == '')$external = "NO";
else
$external = "YES";
$id = Array();
   echo
"<tr bgcolor=\"#$utc\" onMouseOver=\"this.bgColor='$btback3';\" onMouseOut=\"this.bgColor='#$utc';\">
   <td><a href=\"details.php?id="
.$row["id"]."\"  title=\"".$row["name"]."\">".((strlen($row["name"]) <= 31) ? $row["name"] : substr($row["name"],0,30)."...")."</a></td>
   <td>"
.((strlen($row["tracker"]) <= 31) ? $row["tracker"] : substr($row["tracker"],0,30)."...")."</td>
   <td>$row[visible]</td><td>$row[banned]</td>
   <td>"
.(($row["type"]=="link") ? "YES" : "NO")."</td>
   <td>$row[seeders]</td><td>$row[leechers]</td>
   <td>$external</td>
   <td>"
.pic("edit.gif","edit.php?id=".$row["id"],_btalt_edit).pic("ban.png","edit.php?op=ban&amp;id=".$row["id"],_btban)."</td>
   <td>"
.get_formatted_timediff(sql_timestamp_to_unix_timestamp($row["last_action"]))."</td>
   <td><input type=\"checkbox\" name=\"torrent_id[]\" value=\""
.$row["id"]."\" /></td></tr>\n";
}

    echo
"</table>\n";
        echo
"<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n";
        echo
"<tr>\n";
        echo
"<td colspan=\"5\" align=\"right\">";
        echo
"<input type=button name=\"CheckAll\"   value=\"Check All\" onClick=\"marklist('viewfolder', 'torrent', true); return false;\">";
        echo
"<input type=button name=\"UnCheckAll\" value=\"Uncheck All\" onClick=\"marklist('viewfolder', 'torrent', false); return false;\">";
        echo
pic("drop.gif","javascript:document.forms['torrents'].submit()",_btalt_drop);
        echo
"</td>\n";
        echo
"</tr>\n";
        echo
"</table>\n";
        echo
"</form>\n";
        echo
"<table border=\"0\" width=\"100%\"><tr><td align=\"left\"><p>".$prev."</p></td><td align=\"center\"><p>".(($pages > 1) ? $pager : "")."</p></td><td align=\"right\"><p>".$next."</p></td></tr></table>";

include(
"footer.php");
die;

?>

now open edit.php
under
include("header.php");
add
if (isset($torrent_id)) $id = $torrent_id;

next find
$id = intval($id);
$sql = "SELECT owner,name FROM ".$db_prefix."_torrents WHERE id = '".$id."';";
$res = $db->sql_query($sql) or btsqlerror($sql);
if ($db->sql_numrows($res) < 1) bterror(_bttorrentnoexist,_btedittorrent);
list ($owner, $tname) = $db->sql_fetchrow($res);
$db->sql_freeresult($res);

and replace with
if (is_array($id))
{
foreach($id as $item)
{
//$item = intval($item);
$sql = "SELECT owner,name FROM ".$db_prefix."_torrents WHERE id = '".$item."';";
$res = $db->sql_query($sql) or btsqlerror($sql);
if ($db->sql_numrows($res) < 1) bterror(_bttorrentnoexist,_btedittorrent);
list ($owner, $tname) = $db->sql_fetchrow($res);
$db->sql_freeresult($res);
}
}else{
$id = intval($id);
$sql = "SELECT owner,name FROM ".$db_prefix."_torrents WHERE id = '".$id."';";
$res = $db->sql_query($sql) or btsqlerror($sql);
if ($db->sql_numrows($res) < 1) bterror(_bttorrentnoexist,_btedittorrent);
list ($owner, $tname) = $db->sql_fetchrow($res);
$db->sql_freeresult($res);
}

now find
switch($op) {

and add after
        case "admin_delete":{
		if (!$user->moderator) loginrequired("admin");
		#die(print_r($torrent_id));

                        OpenTable(_btdelete);
                        foreach ($id as $item) {
                        $sql = Array();
                        $sql[] = "DELETE FROM ".$db_prefix."_torrents WHERE id = '".$item."' LIMIT 1;";
                        $sql[] = "DELETE FROM ".$db_prefix."_files WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_peers WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_privacy_file WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_privacy_backup WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_comments WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_comments_notify WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_seeder_notify WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_ratings WHERE torrent = '".$item."';";
                        $sql[] = "DELETE FROM ".$db_prefix."_download_completed WHERE torrent = '".$item."';";

                        //Are there still Torrent associated to that tracker?
                        $tracker_sql = "SELECT tracker FROM ".$db_prefix."_torrents WHERE id = '".$item."';";
                        $tracker_res = $db->sql_query($tracker_sql);
                        list ($tracker) = $db->sql_fetchrow($tracker_res);
                        if ($tracker != "" AND $db->sql_numrows($db->sql_query("SELECT id FROM ".$db_prefix."_torrents WHERE tracker = '".$tracker."';")) <= 1) $sql[] = "DELETE FROM ".$db_prefix."_trackers WHERE url = '".$tracker."';";
                        $db->sql_freeresult($tracker_res);

                        //if ($gfx_check AND (!isset($gfxcode) OR $gfxcode == "" OR $gfxcheck != md5(strtoupper($gfxcode)))) bterror(_bterrcode,_btdelete);

                        foreach ($sql as $query) {
                                $db->sql_query($query) or btsqlerror($query);
                        }

                        if (file_exists("torrent/".$item.".torrent")) @unlink("torrent/".$item.".torrent");
                        if (file_exists("torrent/".$item.".nfo")) @unlink("torrent/".$item.".nfo");
                       
                        //echo "<meta http-equiv=\"refresh\" content=\"3;url=index.php\">";
                        echo "<p>"._btdeleted." #".$item."</p>";
                        
                        }
                        CloseTable();
                break;
		
		}

and thats it you now can work with torrents in a admin setting
it well sort by name seeders/leechers tracker
good luck and injoy


http://a.imageshack.us/img831/5562/mybikes.png
Re: torrent admin [message #2096 is a reply to message #2088] Wed, 04 June 2008 17:33 Go to previous message
Revan is currently offline Revan  Czech Republic
Messages: 125
Registered: April 2007
Super-Seeder
Nice one, thanks!

Just a little note - instead of <SCRIPT LANGUAGE="JavaScript">
use: <script type="text/javascript" language="JavaScript">
(because of html validators)
Previous Topic:How to remove Ed2K Upload Link
Next Topic:phpbb3 integration problem
Goto Forum:
  


Current Time: Wed Feb 08 12:24:33 GMT 2012

Total time taken to generate the page: 0.00686 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software