Fixed announcer-list issue (#1129)

* Fixed announcer-list issue

* Update CHANGELOG.md
This commit is contained in:
Roman Kelesidis 2023-11-19 17:57:43 +07:00 committed by GitHub
commit e26e3b36c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 5 deletions

View file

@ -5,6 +5,7 @@
**Merged pull requests:** **Merged pull requests:**
- Fixed announcer-list issue [\#1129](https://github.com/torrentpier/torrentpier/pull/1129) ([belomaxorka](https://github.com/belomaxorka))
- Removed client column from bb_bt_tracker table [\#1128](https://github.com/torrentpier/torrentpier/pull/1128) ([belomaxorka](https://github.com/belomaxorka)) - Removed client column from bb_bt_tracker table [\#1128](https://github.com/torrentpier/torrentpier/pull/1128) ([belomaxorka](https://github.com/belomaxorka))
- Removed one-time used variables [\#1120](https://github.com/torrentpier/torrentpier/pull/1120) ([belomaxorka](https://github.com/belomaxorka)) - Removed one-time used variables [\#1120](https://github.com/torrentpier/torrentpier/pull/1120) ([belomaxorka](https://github.com/belomaxorka))
- Don't create empty announce-list dict, if ann_urls are empty [\#1119](https://github.com/torrentpier/torrentpier/pull/1119) ([kovalensky](https://github.com/kovalensky)) - Don't create empty announce-list dict, if ann_urls are empty [\#1119](https://github.com/torrentpier/torrentpier/pull/1119) ([kovalensky](https://github.com/kovalensky))

View file

@ -547,9 +547,12 @@ class Torrent
bb_die($lang['TORFILE_INVALID']); bb_die($lang['TORFILE_INVALID']);
} }
// Get tracker announcer
$announce_url = $bb_cfg['ocelot']['enabled'] ? $bb_cfg['ocelot']['url'] . "$passkey_val/announce" : $bb_cfg['bt_announce_url'] . "?$passkey_key=$passkey_val";
// Replace original announce url with tracker default // Replace original announce url with tracker default
if ($bb_cfg['bt_replace_ann_url'] || !isset($tor['announce'])) { if ($bb_cfg['bt_replace_ann_url']) {
$tor['announce'] = $bb_cfg['ocelot']['enabled'] ? $bb_cfg['ocelot']['url'] . "$passkey_val/announce" : $bb_cfg['bt_announce_url'] . "?$passkey_key=$passkey_val"; $tor['announce'] = $announce_url;
} }
// Get additional announce urls // Get additional announce urls
@ -564,14 +567,31 @@ class Torrent
// Delete all additional urls // Delete all additional urls
if ($bb_cfg['bt_del_addit_ann_urls'] || $bb_cfg['bt_disable_dht']) { if ($bb_cfg['bt_del_addit_ann_urls'] || $bb_cfg['bt_disable_dht']) {
unset($tor['announce-list']); unset($tor['announce-list']);
} elseif (!empty($announce_urls_add)) { } else {
$tor['announce-list'] = array_merge($tor['announce-list'] ?? [], $announce_urls_add); // Creating announce-list if not exist
if (!isset($tor['announce-list']) || !is_array($tor['announce-list'])) {
$tor['announce-list'] = [];
}
// Adding tracker announcer to announce-list
if ($bb_cfg['bt_replace_ann_url']) {
// Adding tracker announcer as main announcer (At start)
array_unshift($tor['announce-list'], [$announce_url]);
} else {
// Adding tracker announcer (At end)
$tor['announce-list'] = array_merge($tor['announce-list'], [[$announce_url]]);
}
// Adding additional announce urls (If present)
if (!empty($announce_urls_add)) {
$tor['announce-list'] = array_merge($tor['announce-list'], $announce_urls_add);
}
} }
// Add retracker // Add retracker
if (!empty($bb_cfg['tracker']['retracker_host']) && $bb_cfg['tracker']['retracker']) { if (!empty($bb_cfg['tracker']['retracker_host']) && $bb_cfg['tracker']['retracker']) {
if (bf($userdata['user_opt'], 'user_opt', 'user_retracker') || IS_GUEST) { if (bf($userdata['user_opt'], 'user_opt', 'user_retracker') || IS_GUEST) {
$tor['announce-list'] = array_merge($tor['announce-list'] ?? [], [[$bb_cfg['tracker']['retracker_host']]]); $tor['announce-list'] = array_merge($tor['announce-list'], [[$bb_cfg['tracker']['retracker_host']]]);
} }
} }