Merge branch 'hotfix_tracker_url' into php8

# Conflicts:
#	include/constants.php
This commit is contained in:
xiaomlove
2025-06-29 20:48:23 +07:00
3 changed files with 13 additions and 7 deletions
+11 -5
View File
@@ -670,7 +670,7 @@ function command_exists($command): bool
return !(trim(exec("command -v $command")) == ''); 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; 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; 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)) { 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) . "://" ; do_log("$log, ssl_torrent: $ssl_torrent, base_announce_url: $base_announce_url");
$base_announce_url = parse_url($url, PHP_URL_HOST);
if ($combine) { if ($combine) {
return $ssl_torrent . $base_announce_url; return $ssl_torrent . $base_announce_url;
} }
+1 -1
View File
@@ -140,7 +140,7 @@ if (strlen($CURUSER['passkey']) != 32) {
sql_query("UPDATE users SET passkey=".sqlesc($CURUSER['passkey'])." WHERE id=".sqlesc($CURUSER['id'])); sql_query("UPDATE users SET passkey=".sqlesc($CURUSER['passkey'])." WHERE id=".sqlesc($CURUSER['id']));
} }
$dict = \Rhilip\Bencode\Bencode::load($fn); $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; $dict['comment'] = getSchemeAndHttpHost(true) . "/details.php?id=" . $id;
do_log(sprintf("[ANNOUNCE_URL], user: %s, torrent: %s, url: %s", $CURUSER['id'] ?? '', $id, $dict['announce'])); do_log(sprintf("[ANNOUNCE_URL], user: %s, torrent: %s, url: %s", $CURUSER['id'] ?? '', $id, $dict['announce']));
/** /**
+1 -1
View File
@@ -43,7 +43,7 @@ stdhead($lang_upload['head_upload']);
<table border="1" cellspacing="0" cellpadding="5" width="97%"> <table border="1" cellspacing="0" cellpadding="5" width="97%">
<tr> <tr>
<td class='colhead' colspan='2' align='center'> <td class='colhead' colspan='2' align='center'>
<?php echo $lang_upload['text_tracker_url'] ?>: &nbsp;&nbsp;&nbsp;&nbsp;<b><?php echo get_tracker_schema_and_host(true)?></b> <?php echo $lang_upload['text_tracker_url'] ?>: &nbsp;&nbsp;&nbsp;&nbsp;<b><?php echo get_tracker_schema_and_host($CURUSER['tracker_url_id'], true)?></b>
<?php <?php
if(!is_writable(getFullDirectory($torrent_dir))) if(!is_writable(getFullDirectory($torrent_dir)))
print("<br /><br /><b>ATTENTION</b>: Torrent directory isn't writable. Please contact the administrator about this problem!"); print("<br /><br /><b>ATTENTION</b>: Torrent directory isn't writable. Please contact the administrator about this problem!");