Hi, this its a simple mod to fix the torrent hash of your torrent in the DB,
when i change my tracker of server, several torrents give this error "Failure reason "torrent not registered with this tracker", and was looking for a solution and i found the fix, but isnt compatible with the tsse 3.1, after changing a little the source code, work fine and without problems in my source,
i want to share the source code, if you have this problem someday:
PHP Code:
<?php
$rootpath = "./../";
include($rootpath . 'include/bittorrent.php');
include($rootpath . 'include/benc.php');
function duplicate($id, $hash) {
$q = "SELECT id, name FROM torrents WHERE info_hash = {$hash} OR id = $id";
$res=mysql_query($q);
echo "Duplicate torrent:<br/>";
while ($row = mysql_fetch_assoc($res)) {
echo $row['id'] . ": " . $row['name'] . '<br/>';
}
echo "End duplicate torrentdump<br/><hr/>";
}
dbconn();
loggedinorreturn();
if (get_user_class() < UC_ADMINISTRATOR) stderr("wegwezen", "Neen, dit is werkelijk waar uw recht niet om te doen");
$torrents = "SELECT id FROM torrents WHERE seeders='0' ORDER BY id ";
$res = mysql_query($torrents);
$errors = "";
while ($row = mysql_fetch_assoc($res)) {
$dict = bdec_file($rootpath . '/' . $torrent_dir . '/' . $row['id'] . '.torrent', 1024*1024);
if (!isset($dict)) {
$errors = $row['id'] . ": file not found<br/>";
continue;
}
// echo "<pre>", print_r($dict), "</pre><br/>";
$dict = $dict['value']; // easy :P
if (!isset($dict['info']['string']) || empty($dict['info']['string'])) {
$errors .= $row['id'] . ": update failed (can't read array)<br/>";
echo "<pre>", print_r($dict), "</pre>";
continue;
}
$info_hash = pack("H*", sha1($dict['info']['string']));
$info_hash = sqlesc($info_hash);
$query = "UPDATE torrents SET info_hash = {$info_hash} WHERE id = {$row['id']} LIMIT 1";
if (!mysql_query($query)) {
$errors .= $row['id'] . ": update failed (" . htmlspecialchars($query) . ", " . mysql_error() . ")<br/>";
duplicate($row['id'], $info_hash);
}
}
if (empty($errors)) {
echo "Geen errors :D";
}
echo $errors;
?>
All the credits of this script are of Shadowman of Tbdev.
Sorry my bad english.
Regards
SatanaZ