| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,132 @@ |
| 1 |
+<?php |
|
| 2 |
+require ("config.php");
|
|
| 3 |
+//Check session |
|
| 4 |
+session_start(); |
|
| 5 |
+ |
|
| 6 |
+if (!$_SESSION['admin_logged_in']) |
|
| 7 |
+{
|
|
| 8 |
+ //check fails |
|
| 9 |
+ header("Location: authenticate.php?status=session");
|
|
| 10 |
+ exit(); |
|
| 11 |
+} |
|
| 12 |
+?> |
|
| 13 |
+ |
|
| 14 |
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
|
| 15 |
+<html> |
|
| 16 |
+<head> |
|
| 17 |
+ <title>Delete Torrent(s) From Database</title> |
|
| 18 |
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
|
| 19 |
+ <link rel="stylesheet" type="text/css" href="./css/style.css" /> |
|
| 20 |
+ <script language="javascript"> |
|
| 21 |
+ function selectRow(checkBox) |
|
| 22 |
+ {
|
|
| 23 |
+ if (checkBox.value % 2 == 1) //odd |
|
| 24 |
+ var Style = "row1"; |
|
| 25 |
+ else //even |
|
| 26 |
+ var Style = "row0"; |
|
| 27 |
+ if (checkBox.checked == true) |
|
| 28 |
+ var Style = "selected"; |
|
| 29 |
+ var el = checkBox.parentNode; |
|
| 30 |
+ while(el.tagName.toLowerCase() != "tr") |
|
| 31 |
+ {
|
|
| 32 |
+ el = el.parentNode; |
|
| 33 |
+ } |
|
| 34 |
+ el.className = Style; |
|
| 35 |
+ } |
|
| 36 |
+ </script> |
|
| 37 |
+</head> |
|
| 38 |
+<body> |
|
| 39 |
+<form action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>" method="POST"> |
|
| 40 |
+<?php |
|
| 41 |
+require_once("funcsv2.php");
|
|
| 42 |
+ |
|
| 43 |
+// check database user |
|
| 44 |
+if (isset($dbuser) && isset($dbpass)) |
|
| 45 |
+{
|
|
| 46 |
+ $db = mysql_connect($dbhost, $dbuser, $dbpass) or die(errorMessage() . "Cannot connect to database. Check your username and password in the config file.</p>"); |
|
| 47 |
+ mysql_select_db($database) or die(errorMessage() . "Error selecting database.</p>"); |
|
| 48 |
+ |
|
| 49 |
+ foreach ($_POST as $left => $right) |
|
| 50 |
+ {
|
|
| 51 |
+ if (strlen($left) == 41) |
|
| 52 |
+ {
|
|
| 53 |
+ if (!is_numeric($right) || !verifyHash(substr($left, 1))) |
|
| 54 |
+ continue; |
|
| 55 |
+ $hash = substr($left, 1); |
|
| 56 |
+ //delete torrent file |
|
| 57 |
+ $query = "SELECT filename FROM ".$prefix."namemap WHERE info_hash =\"$hash\""; |
|
| 58 |
+ $delete_file = mysql_query($query) or die(errorMessage() . "Can't do SQL query - " . mysql_error() . "</p>"); |
|
| 59 |
+ $delete = mysql_fetch_row($delete_file); |
|
| 60 |
+ unlink("torrents/" . $delete[0] . ".torrent");
|
|
| 61 |
+ //continue deleting information in database |
|
| 62 |
+ @mysql_query("DELETE FROM " . $prefix . "summary WHERE info_hash=\"$hash\"");
|
|
| 63 |
+ @mysql_query("DELETE FROM " . $prefix . "namemap WHERE info_hash=\"$hash\"");
|
|
| 64 |
+ @mysql_query("DELETE FROM " . $prefix . "timestamps WHERE info_hash=\"$hash\"");
|
|
| 65 |
+ @mysql_query("DELETE FROM " . $prefix . "webseedfiles WHERE info_hash=\"$hash\"");
|
|
| 66 |
+ @mysql_query("DROP TABLE " . $prefix . "y$hash");
|
|
| 67 |
+ @mysql_query("DROP TABLE " . $prefix . "x$hash");
|
|
| 68 |
+ //optimize tables, good after major changes have been made to database |
|
| 69 |
+ @mysql_query("OPTIMIZE TABLE " . $prefix . "summary");
|
|
| 70 |
+ @mysql_query("OPTIMIZE TABLE " . $prefix . "namemap");
|
|
| 71 |
+ @mysql_query("OPTIMIZE TABLE " . $prefix . "timestamps");
|
|
| 72 |
+ //run RSS generator |
|
| 73 |
+ require_once("rss_generator.php");
|
|
| 74 |
+ } |
|
| 75 |
+ } |
|
| 76 |
+} |
|
| 77 |
+else |
|
| 78 |
+{
|
|
| 79 |
+ $db = mysql_connect($dbhost, $dbuser, $dbpass) or die(errorMessage() . "Tracker error: can't connect to database - " . mysql_error() . "</p>"); |
|
| 80 |
+ mysql_select_db($database) or die(errorMessage() . "Tracker error: can't open database $database - " . mysql_error() . "</p>"); |
|
| 81 |
+ $GLOBALS["maydelete"] = false; |
|
| 82 |
+} |
|
| 83 |
+ |
|
| 84 |
+?> |
|
| 85 |
+<h1>Delete Torrent(s) From Database</h1> |
|
| 86 |
+<table class="torrentlist" cellspacing="1"> |
|
| 87 |
+<tr> |
|
| 88 |
+ <th>Name/Info Hash</th> |
|
| 89 |
+ <th>File Size</th> |
|
| 90 |
+ <th>Seeders</th> |
|
| 91 |
+ <th>Leechers</th> |
|
| 92 |
+ <th>Completed D/Ls</th> |
|
| 93 |
+ <th>Bytes Transfered</th> |
|
| 94 |
+ <th>Delete?</th> |
|
| 95 |
+</tr> |
|
| 96 |
+<?php |
|
| 97 |
+ |
|
| 98 |
+if ($GLOBALS["customtitle"] != "true") |
|
| 99 |
+$results = mysql_query("SELECT ".$prefix."summary.info_hash, ".$prefix."namemap.size, ".$prefix."summary.seeds, ".$prefix."summary.leechers, format(".$prefix."summary.finished,0), format(".$prefix."summary.dlbytes/1073741824,3), ".$prefix."namemap.filename FROM ".$prefix."summary LEFT JOIN ".$prefix."namemap ON ".$prefix."summary.info_hash = ".$prefix."namemap.info_hash ORDER BY ".$prefix."namemap.filename") or die(errorMessage() . "" . mysql_error() . "</p>");
|
|
| 100 |
+else $results = mysql_query("SELECT ".$prefix."summary.info_hash, ".$prefix."namemap.size, ".$prefix."summary.seeds, ".$prefix."summary.leechers, format(".$prefix."summary.finished,0), format(".$prefix."summary.dlbytes/1073741824,3), ".$prefix."namemap.title FROM ".$prefix."summary LEFT JOIN ".$prefix."namemap ON ".$prefix."summary.info_hash = ".$prefix."namemap.info_hash ORDER BY ".$prefix."namemap.title") or die(errorMessage() . "" . mysql_error() . "</p>");
|
|
| 101 |
+ |
|
| 102 |
+ |
|
| 103 |
+$i = 0; |
|
| 104 |
+ |
|
| 105 |
+while ($data = mysql_fetch_row($results)) {
|
|
| 106 |
+ $writeout = "row" . $i % 2; |
|
| 107 |
+ $hash = $data[0]; |
|
| 108 |
+ if (is_null($data[6])) |
|
| 109 |
+ $data[6] = $data[0]; |
|
| 110 |
+ if (strlen($data[6]) == 0) |
|
| 111 |
+ $data[6] = $data[0]; |
|
| 112 |
+ |
|
| 113 |
+ echo "<tr class=\"$writeout\">\n"; |
|
| 114 |
+ echo "\t<td>".$data[6]."</td>\n"; |
|
| 115 |
+ echo "\t<td>".bytesToString($data[1])."</td>\n"; |
|
| 116 |
+ for ($j=2; $j < 5; $j++) |
|
| 117 |
+ echo "\t<td class=\"center\">$data[$j]</td>\n"; |
|
| 118 |
+ echo "\t<td class=\"center\">$data[5] GB</td>\n"; |
|
| 119 |
+ |
|
| 120 |
+ echo "\t<td class=\"center\"><input type=\"checkbox\" name=\"x$hash\" value=\"$i\" onclick=\"selectRow(this);\"/></td>\n"; |
|
| 121 |
+ echo "</tr>\n"; |
|
| 122 |
+ $i++; |
|
| 123 |
+} |
|
| 124 |
+ |
|
| 125 |
+?> |
|
| 126 |
+</table> |
|
| 127 |
+<p class="error">Warning: there is no confirmation for deleting files. Clicking this button is final.</p> |
|
| 128 |
+<p class="center"><input type="submit" value="Delete" /></p> |
|
| 129 |
+</form> |
|
| 130 |
+<a href="index.php"><img src="images/stats.png" border="0" class="icon" alt="Tracker Statistics" title="Tracker Statistics" /></a><a href="index.php">Return to Statistics Page</a><br> |
|
| 131 |
+<a href="admin.php"><img src="images/admin.png" border="0" class="icon" alt="Admin Page" title="Admin Page" /></a><a href="admin.php">Return to Admin Page</a> |
|
| 132 |
+</body></html> |