diff --git a/include/globalfunctions.php b/include/globalfunctions.php index f2437ba9..41e5143d 100644 --- a/include/globalfunctions.php +++ b/include/globalfunctions.php @@ -670,7 +670,7 @@ function command_exists($command): bool return !(trim(exec("command -v $command")) == ''); } -function get_tracker_schema_and_host($combine = false): array|string +function get_tracker_schema_and_host($trackerUrlId, $combine = false): array|string { /* global $https_announce_urls, $announce_urls; @@ -706,12 +706,18 @@ function get_tracker_schema_and_host($combine = false): array|string return $ssl_torrent . $base_announce_url; } */ - $url = \App\Models\TrackerUrl::getById(0); + $log = "tracker_url_id: $trackerUrlId, combine: $combine"; + $url = \App\Models\TrackerUrl::getById($trackerUrlId); if (empty($url)) { - return $combine ? "" : []; + $ssl_torrent = isHttps() ? 'https://' : 'http://'; + $base_announce_url = sprintf("%s/%s", \App\Models\Setting::getBaseUrl(), DEFAULT_TRACKER_URI); + $log .= ", ById no value"; + } else { + $ssl_torrent = parse_url($url, PHP_URL_SCHEME) . "://" ; + $base_announce_url = substr($url, strlen($ssl_torrent)); + $log .= ", ById has value"; } - $ssl_torrent = parse_url($url, PHP_URL_SCHEME) . "://" ; - $base_announce_url = parse_url($url, PHP_URL_HOST); + do_log("$log, ssl_torrent: $ssl_torrent, base_announce_url: $base_announce_url"); if ($combine) { return $ssl_torrent . $base_announce_url; } diff --git a/public/download.php b/public/download.php index 06d1556f..14d3bac6 100644 --- a/public/download.php +++ b/public/download.php @@ -140,7 +140,7 @@ if (strlen($CURUSER['passkey']) != 32) { sql_query("UPDATE users SET passkey=".sqlesc($CURUSER['passkey'])." WHERE id=".sqlesc($CURUSER['id'])); } $dict = \Rhilip\Bencode\Bencode::load($fn); -$dict['announce'] = \App\Models\TrackerUrl::getById($CURUSER['tracker_url_id']) . "?passkey=" . $CURUSER['passkey']; +$dict['announce'] = get_tracker_schema_and_host($CURUSER['tracker_url_id'], true) . "?passkey=" . $CURUSER['passkey']; $dict['comment'] = getSchemeAndHttpHost(true) . "/details.php?id=" . $id; do_log(sprintf("[ANNOUNCE_URL], user: %s, torrent: %s, url: %s", $CURUSER['id'] ?? '', $id, $dict['announce'])); /** diff --git a/public/upload.php b/public/upload.php index 8f01e1b5..d3e66d6c 100644 --- a/public/upload.php +++ b/public/upload.php @@ -43,7 +43,7 @@ stdhead($lang_upload['head_upload']);
- :      + :     
ATTENTION: Torrent directory isn't writable. Please contact the administrator about this problem!");