| torrent admin [message #2088] |
Sat, 31 May 2008 09:46  |
|
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> ";
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> ";
}
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&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&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&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&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&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
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
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
|
|
|
|