From 3a64f8595cafd99b9cb821d52ec5d3b3e8e467c0 Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Tue, 6 May 2025 20:04:17 +0300 Subject: [PATCH] feat: Added ability to hide peer username in peer list (#1903) * Added ability to hide peer username in peer list * Updated --- library/attach_mod/displaying_torrent.php | 19 ++++++++++++------- library/includes/functions.php | 3 ++- library/includes/ucp/register.php | 1 + library/language/source/main.php | 1 + styles/templates/default/usercp_register.tpl | 7 +++++++ 5 files changed, 23 insertions(+), 8 deletions(-) diff --git a/library/attach_mod/displaying_torrent.php b/library/attach_mod/displaying_torrent.php index 442ac634f..06a670266 100644 --- a/library/attach_mod/displaying_torrent.php +++ b/library/attach_mod/displaying_torrent.php @@ -445,8 +445,6 @@ if ($tor_reged && $tor_info) { $compl_perc = ($compl_size) ? floor($compl_size * 100 / $tor_size) : 0; } - $rel_sign = (!$guest && $peer['releaser']) ? ' ®' : ''; - $name = profile_url($peer) . $rel_sign; $up_tot = ($p_max_up) ? humn_size($p_max_up) : '-'; $down_tot = ($p_max_down) ? humn_size($p_max_down) : '-'; $up_ratio = ($p_max_down) ? round(($p_max_up / $p_max_down), 2) : ''; @@ -457,14 +455,21 @@ if ($tor_reged && $tor_info) { $row_bgr = ($change_peers_bgr_over) ? " class=\"$bgr_class\" onmouseover=\"this.className='$bgr_class_over';\" onmouseout=\"this.className='$bgr_class';\"" : ''; $tr[$x]++; - $peerTorrentClient = $lang['UNKNOWN']; + $peerUsername = $lang['HIDDEN_USER']; + if (IS_AM || $peer['user_id'] == $userdata['user_id'] || !bf($peer['user_opt'], 'user_opt', 'user_hide_peer_username')) { + $releaserSign = (!$guest && $peer['releaser']) ? ' ®' : ''; + $peerUsername = profile_url($peer) . $releaserSign; + $peerUsername = $peer['update_time'] ? $peerUsername : "$peerUsername"; + } + + $peerTorrentClient = $lang['HIDDEN_USER']; if (IS_AM || $peer['user_id'] == $userdata['user_id'] || !bf($peer['user_opt'], 'user_opt', 'user_hide_torrent_client')) { if (isset($peer['peer_id'])) { $peerTorrentClient = get_user_torrent_client($peer['peer_id']); } } - $peerCountry = $lang['UNKNOWN']; + $peerCountry = $lang['HIDDEN_USER']; if ($bb_cfg['ip2country_settings']['enabled']) { if (IS_AM || $peer['user_id'] == $userdata['user_id'] || !bf($peer['user_opt'], 'user_opt', 'user_hide_peer_country')) { if ($infoByIP = infoByIP((!empty($peer['ipv6']) ? $peer['ipv6'] : $peer['ip']), $peer['port'])) { @@ -477,7 +482,7 @@ if ($tor_reged && $tor_info) { $template->assign_block_vars("$x_full.$x_row", [ 'ROW_BGR' => $row_bgr, - 'NAME' => ($peer['update_time']) ? $name : "$name", + 'NAME' => $peerUsername, 'PEER_ID' => $peerTorrentClient, 'COUNTRY' => $peerCountry, 'COMPL_PRC' => $compl_perc, @@ -489,8 +494,8 @@ if ($tor_reged && $tor_info) { 'DOWN_TOTAL_RAW' => $peer['downloaded'], 'SPEED_UP_RAW' => $peer['speed_up'], 'SPEED_DOWN_RAW' => $peer['speed_down'], - 'UPD_EXP_TIME' => ($peer['update_time']) ? $lang['DL_UPD'] . bb_date($peer['update_time'], 'd-M-y H:i') . ' · ' . delta_time($peer['update_time']) . $lang['TOR_BACK'] : $lang['DL_STOPPED'], - 'TOR_RATIO' => ($up_ratio) ? $lang['USER_RATIO'] . "UL/DL: $up_ratio" : '' + 'UPD_EXP_TIME' => $peer['update_time'] ? $lang['DL_UPD'] . bb_date($peer['update_time'], 'd-M-y H:i') . ' · ' . delta_time($peer['update_time']) . $lang['TOR_BACK'] : $lang['DL_STOPPED'], + 'TOR_RATIO' => $up_ratio ? $lang['USER_RATIO'] . "UL/DL: $up_ratio" : '' ]); if ($ip) { diff --git a/library/includes/functions.php b/library/includes/functions.php index e490ad930..61954e856 100644 --- a/library/includes/functions.php +++ b/library/includes/functions.php @@ -198,7 +198,8 @@ $bf['user_opt'] = [ 'user_dls' => 14, // [SETTINGS] Hide list of "Current downloads" in my profile 'user_retracker' => 15, // [SETTINGS] Add my retracker into downloaded torrent files 'user_hide_torrent_client' => 16, // [SETTINGS] Option to hide user's torrent client in peer list - 'user_hide_peer_country' => 17 // [SETTINGS] Option to hide user's country name in peer list + 'user_hide_peer_country' => 17, // [SETTINGS] Option to hide user's country name in peer list + 'user_hide_peer_username' => 18, // [SETTINGS] Option to hide peer username in peer list ]; function bit2dec($bit_num) diff --git a/library/includes/ucp/register.php b/library/includes/ucp/register.php index 69a14add1..5e101a310 100644 --- a/library/includes/ucp/register.php +++ b/library/includes/ucp/register.php @@ -367,6 +367,7 @@ foreach ($profile_fields as $field => $can_edit) { 'user_retracker' => $reg_mode ? true : true, 'user_hide_torrent_client' => $reg_mode ? true : true, 'user_hide_peer_country' => $reg_mode ? true : $bb_cfg['ip2country_settings']['enabled'], + 'user_hide_peer_username' => $reg_mode ? false : true, ]; foreach ($update_user_opt as $opt => $can_change_opt) { diff --git a/library/language/source/main.php b/library/language/source/main.php index 3f8da2cdc..09451df9b 100644 --- a/library/language/source/main.php +++ b/library/language/source/main.php @@ -1881,6 +1881,7 @@ $lang['DL_UPD'] = 'upd: '; $lang['DL_INFO'] = 'shows data only for the current session'; $lang['HIDE_PEER_TORRENT_CLIENT'] = 'Hide my BitTorrent client name in peer list'; $lang['HIDE_PEER_COUNTRY_NAME'] = 'Hide my country name in peer list'; +$lang['HIDE_PEER_USERNAME'] = 'Hide my username in peer list'; // Post PIN $lang['POST_PIN'] = 'Pin first post'; diff --git a/styles/templates/default/usercp_register.tpl b/styles/templates/default/usercp_register.tpl index 2a0e3fba5..4b800f172 100644 --- a/styles/templates/default/usercp_register.tpl +++ b/styles/templates/default/usercp_register.tpl @@ -335,6 +335,13 @@ + + {L_HIDE_PEER_USERNAME}: + +    + + + {L_AVATAR_PANEL}