aboutsummaryrefslogtreecommitdiff
path: root/Html/admin/download.php
blob: 136cc35cc4a390b38cb00fa94db396c42fed369f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
require_once('../includes/config.php');

//Pas d'accès direct
if(!isset($_GET['id']) || $_GET['id'] == '') {
	header('Location: '.SITEURL.'/torrents.php?action=nodirect');
	exit;	
}


//on détermine l'id du fichier
$fid = html($_GET['id']);

// Si une session membre est lancée, on détermine l'id du membre
if(isset($_SESSION['username'])) {
	$stmt = $db->prepare('SELECT * FROM blog_members WHERE username = :username');
	$stmt->execute(array(':username' => html($_SESSION['username'])));
	$row = $stmt->fetch();
	$uid = $row['memberID'];
}
else {
	// s'il n'y a pas de session, c'est donc un visiteur avec l'id 32
	$uid = 32;
}

/*
//on recherche le hash dans la base xbt_files
$stmt1 = $db->prepare('SELECT * FROM xbt_files WHERE fid = :fid');
$stmt1->execute(array(':fid' => $fid));
$row1 = $stmt1->fetch();
*/

//on recherche le torrent dans la base blog_posts_seo
$stmt2 = $db->prepare('SELECT * FROM blog_posts_seo WHERE postID = :postID');
$stmt2->execute(array(':postID' => $fid));
$row2 = $stmt2->fetch();

if($row2['postID'] == '') {
	header('Location: '.SITEURL.'/torrents.php?action=noexist');
}


$torrent = $row2['postTorrent'];

$torrentfile = $REP_TORRENTS.'/'.$torrent;

// On décode le fichier torrent
$fd = fopen($torrentfile, "rb");
$alltorrent = fread($fd, filesize($torrentfile));
$array = BDecode($alltorrent);
fclose($fd);

//On cherche le pid
$stmt3 = $db->prepare('SELECT * FROM blog_members WHERE memberID = :uid');
$stmt3->execute(array(':uid' => $uid));
$row3 = $stmt3->fetch();

// Il n'y a que les membres + les visiteurs qui peuvent télécharger
// pas de userid = 0
if ($row3['pid'] == '') {
	header('Location: '.SITEURL);
}

if ($row3['pid'] == '00000000000000000000000000000000') {
	$pid = '00000000000000000000000000000000';
}
else {
	$pid = $row3['pid'];
}

$tracker_announce_urls = SITEURL.':'.ANNOUNCEPORT.'/announce';

// On construit la nouvelle announce avec le pid (passkey ...)
$array["announce"] = SITEURL.":".ANNOUNCEPORT."/".$pid."/announce";

$alltorrent=BEncode($array);

// On construit le header
header("Content-Type: application/x-bittorrent");
header('Content-Disposition: attachment; filename="['.SITENAMELONG.']'.$torrent.'"');
print($alltorrent);

if(isset($_SESSION['username'])) {
	write_log('<span style="color:blue; font-weight:bold;">Download torrent :</span> '.html($row2['postTitle']).' par '.html($_SESSION['username']), $db);
}
else {
	write_log('<span style="color:blue; font-weight:bold;">Download torrent :</span> '.html($row2['postTitle']).' par Visiteur', $db);
}

?>