WIP: Added search by info_hash v2 🐯 (#869)

* Added search by info_hash v2

* Update functions.php

* Update functions.php
This commit is contained in:
Roman Kelesidis 2023-08-27 21:13:36 +07:00 committed by GitHub
commit 072b5a074f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 4 deletions

View file

@ -1949,14 +1949,24 @@ function hash_search($hash)
global $lang;
$hash = htmlCHR(trim($hash));
$info_hash_where = null;
if (!isset($hash) || mb_strlen($hash, 'UTF-8') != 40) {
if (!isset($hash)) {
bb_die(sprintf($lang['HASH_INVALID'], $hash));
}
$info_hash = DB()->escape(pack("H*", $hash));
$info_hash = DB()->escape(pack('H*', $hash));
if ($row = DB()->fetch_row("SELECT topic_id FROM " . BB_BT_TORRENTS . " WHERE info_hash = '$info_hash'")) {
// Check info_hash version
if (mb_strlen($hash, 'UTF-8') == 40) {
$info_hash_where = "WHERE info_hash = '$info_hash'";
} elseif (mb_strlen($hash, 'UTF-8') == 64) {
$info_hash_where = "WHERE info_hash_v2 = '$info_hash'";
} else {
bb_die(sprintf($lang['HASH_INVALID'], $hash));
}
if ($row = DB()->fetch_row("SELECT topic_id FROM " . BB_BT_TORRENTS . " $info_hash_where")) {
redirect(TOPIC_URL . $row['topic_id']);
} else {
bb_die(sprintf($lang['HASH_NOT_FOUND'], $hash));