Browse code

Import from the old rivettracker git repository at sourceforge (amisaph/amisapphire branch)

Clarissa Walker (ami-sapphire) authored on 2014/01/24 14:02:23
Showing 1 changed files
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>