mirror of
https://github.com/torrentpier/torrentpier-lts.git
synced 2025-03-01 15:21:02 +03:00
98 lines
2.2 KiB
PHP
98 lines
2.2 KiB
PHP
<?php
|
|
|
|
define('IN_FORUM', true);
|
|
define('BB_ROOT', './');
|
|
require(BB_ROOT .'common.php');
|
|
require(INC_DIR .'functions_torrent.php');
|
|
require(BB_ROOT . 'converter/settings.php');
|
|
require(BB_ROOT . 'converter/functions.php');
|
|
|
|
// Init userdata
|
|
$user->session_start();
|
|
|
|
while (@ob_end_flush());
|
|
ob_implicit_flush();
|
|
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html dir="ltr">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
|
|
<meta http-equiv="Content-Style-Type" content="text/css">
|
|
<title></title>
|
|
</head>
|
|
<body style="font: 12px Courier, monospace; white-space: nowrap;">
|
|
|
|
<?php
|
|
|
|
if (empty($_POST['confirm']))
|
|
{
|
|
echo '
|
|
<br />
|
|
<center>
|
|
<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
|
|
<input type="submit" name="confirm" value="Recover" />
|
|
</form>
|
|
</center>
|
|
</body>
|
|
';
|
|
|
|
exit;
|
|
}
|
|
else
|
|
{
|
|
|
|
@ini_set('memory_limit', '512M');
|
|
@ini_set('max_execution_time', @ini_get('max_execution_time') + 1200);
|
|
|
|
$torrents_count = (int) get_count(BB_BT_TORRENTS, 'attach_id');
|
|
$loops = (int) ceil($torrents_count / C_TORRENTS_PER_ONCE);
|
|
|
|
$not_exist = array();
|
|
|
|
$attach_dir = get_attachments_dir() .'/';
|
|
|
|
for ($i = 0; $i < $loops; $i++)
|
|
{
|
|
$start = $i * C_TORRENTS_PER_ONCE;
|
|
$offset = C_TORRENTS_PER_ONCE;
|
|
|
|
$sql = "SELECT
|
|
tor.attach_id, tor.topic_id, ad.physical_filename
|
|
FROM ". BB_BT_TORRENTS ." tor
|
|
LEFT JOIN ". BB_ATTACHMENTS_DESC ." ad ON(ad.attach_id = tor.attach_id)
|
|
ORDER BY tor.attach_id
|
|
LIMIT $start, $offset";
|
|
|
|
$torrents = DB()->fetch_rowset($sql);
|
|
DB()->sql_freeresult();
|
|
|
|
foreach ($torrents as $torrent)
|
|
{
|
|
$filename = $attach_dir . $torrent['physical_filename'];
|
|
if (!file_exists($filename))
|
|
{
|
|
$not_exist[] = '<a href="viewtopic.php?t='. $torrent['topic_id'] .'">'. $filename .'</a>';
|
|
}
|
|
else
|
|
{
|
|
$tor = bdecode_file($filename);
|
|
$info = (!empty($tor['info'])) ? $tor['info'] : array();
|
|
$info_hash = pack('H*', sha1(bencode($info)));
|
|
$info_hash_sql = rtrim(DB()->escape($info_hash), ' ');
|
|
|
|
DB()->query("UPDATE ". BB_BT_TORRENTS ."
|
|
SET info_hash = '$info_hash_sql'
|
|
WHERE attach_id = {$torrent['attach_id']}");
|
|
}
|
|
}
|
|
}
|
|
|
|
print_ok ("Completed");
|
|
|
|
if (!empty($not_exist))
|
|
{
|
|
print_ok ("These torrents doesn't exist in filesystem: ". implode(', ', array_unique($not_exist)));
|
|
}
|
|
|
|
}
|