From 1b2e40c5128e53864d9e36e9bd4415539dd960ec Mon Sep 17 00:00:00 2001 From: Roman Kelesidis Date: Fri, 17 Mar 2023 12:17:48 +0700 Subject: [PATCH] Minor adjustments (#607) * Minor adjustments * Make generate_user_info globaly. * Added NOSELECT if field is empty * Applied some fixes * Applied requested changes --- group.php | 73 +++++++++++----------------------- library/includes/functions.php | 27 +++++++++++++ memberlist.php | 31 ++++----------- 3 files changed, 59 insertions(+), 72 deletions(-) diff --git a/group.php b/group.php index 77ead8312..c8f42840b 100644 --- a/group.php +++ b/group.php @@ -17,31 +17,6 @@ $page_cfg['use_tablesorter'] = true; $s_member_groups = $s_pending_groups = $s_member_groups_opt = $s_pending_groups_opt = ''; $select_sort_mode = $select_sort_order = ''; -function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$joined, &$pm, &$email, &$www, &$user_time, &$avatar) -{ - global $lang, $images, $bb_cfg; - - $from = (!empty($row['user_from'])) ? $row['user_from'] : ''; - $joined = bb_date($row['user_regdate']); - $user_time = (!empty($row['user_time'])) ? bb_date($row['user_time']) : $lang['NONE']; - $posts = $row['user_posts'] ?: 0; - $pm = $bb_cfg['text_buttons'] ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; - $avatar = get_avatar($row['user_id'], $row['avatar_ext_id'], !bf($row['user_opt'], 'user_opt', 'dis_avatar'), 50, 50); - - if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || $group_mod) { - $email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&" . POST_USERS_URL . "=" . $row['user_id']) : 'mailto:' . $row['user_email']; - $email = '' . $row['user_email'] . ''; - } else { - $email = ''; - } - - if ($row['user_website']) { - $www = $bb_cfg['text_buttons'] ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; - } else { - $www = ''; - } -} - $user->session_start(array('req_login' => true)); set_die_append_msg(); @@ -372,7 +347,7 @@ if (!$group_id) { $username = $group_moderator['username']; $user_id = $group_moderator['user_id']; - generate_user_info($group_moderator, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar); + $moderator_info = generate_user_info($group_moderator, $is_moderator); $group_type = ''; if ($group_info['group_type'] == GROUP_OPEN) { @@ -395,13 +370,13 @@ if (!$group_id) { 'GROUP_DETAILS' => $group_details, 'GROUP_TIME' => (!empty($group_info['group_time'])) ? sprintf('%s (%s)', bb_date($group_info['group_time']), delta_time($group_info['group_time'])) : $lang['NONE'], 'MOD_USER' => profile_url($group_moderator), - 'MOD_AVATAR' => $avatar, - 'MOD_FROM' => $from, - 'MOD_JOINED' => $joined, - 'MOD_POSTS' => $posts, - 'MOD_PM' => $pm, - 'MOD_EMAIL' => $email, - 'MOD_WWW' => $www, + 'MOD_AVATAR' => $moderator_info['avatar'], + 'MOD_FROM' => $moderator_info['from'], + 'MOD_JOINED' => $moderator_info['joined'], + 'MOD_POSTS' => $moderator_info['posts'], + 'MOD_PM' => $moderator_info['pm'], + 'MOD_EMAIL' => $moderator_info['email'], + 'MOD_WWW' => $moderator_info['www'], 'MOD_TIME' => (!empty($group_info['mod_time'])) ? bb_date($group_info['mod_time']) : $lang['NONE'], 'U_SEARCH_USER' => "search.php?mode=searchuser", 'U_SEARCH_RELEASES' => "tracker.php?srg=$group_id", @@ -521,7 +496,7 @@ if (!$group_id) { foreach ($group_members as $i => $member) { $user_id = $member['user_id']; - generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar); + $member_info = generate_user_info($member, $is_moderator); if ($group_info['group_type'] != GROUP_HIDDEN || $is_group_member || $is_moderator) { $row_class = !($i % 2) ? 'row1' : 'row2'; @@ -530,15 +505,15 @@ if (!$group_id) { 'ROW_NUMBER' => $i + ($start + 1), 'ROW_CLASS' => $row_class, 'USER' => profile_url($member), - 'AVATAR_IMG' => $avatar, - 'FROM' => $from, - 'JOINED' => $joined, - 'POSTS' => $posts, + 'AVATAR_IMG' => $member_info['avatar'], + 'FROM' => $member_info['from'], + 'JOINED' => $member_info['joined'], + 'POSTS' => $member_info['posts'], 'USER_ID' => $user_id, - 'PM' => $pm, - 'EMAIL' => $email, - 'WWW' => $www, - 'TIME' => $user_time, + 'PM' => $member_info['pm'], + 'EMAIL' => $member_info['email'], + 'WWW' => $member_info['www'], + 'TIME' => $member_info['user_time'], )); if ($is_moderator) { @@ -575,7 +550,7 @@ if (!$group_id) { foreach ($modgroup_pending_list as $i => $member) { $user_id = $member['user_id']; - generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $avatar); + $member_info = generate_user_info($member, $is_moderator); $row_class = !($i % 2) ? 'row1' : 'row2'; @@ -583,14 +558,14 @@ if (!$group_id) { $template->assign_block_vars('pending', array( 'ROW_CLASS' => $row_class, - 'AVATAR_IMG' => $avatar, + 'AVATAR_IMG' => $member_info['avatar'], 'USER' => profile_url($member), - 'FROM' => $from, - 'JOINED' => $joined, - 'POSTS' => $posts, + 'FROM' => $member_info['from'], + 'JOINED' => $member_info['joined'], + 'POSTS' => $member_info['posts'], 'USER_ID' => $user_id, - 'PM' => $pm, - 'EMAIL' => $email, + 'PM' => $member_info['pm'], + 'EMAIL' => $member_info['email'], )); } diff --git a/library/includes/functions.php b/library/includes/functions.php index dcf6b0bcf..8a6ef44ee 100644 --- a/library/includes/functions.php +++ b/library/includes/functions.php @@ -779,6 +779,33 @@ function wbr($text, $max_word_length = HTML_WBR_LENGTH) return preg_replace("/([\w\->;:.,~!?(){}@#$%^*\/\\\\]{" . $max_word_length . "})/ui", '$1', $text); } +function generate_user_info($row, $group_mod = null): array +{ + global $lang, $images, $bb_cfg; + + $from = !empty($row['user_from']) ? $row['user_from'] : $lang['NOSELECT']; + $joined = bb_date($row['user_regdate'], 'Y-m-d H:i', false); + $user_time = !empty($row['user_time']) ? bb_date($row['user_time']) : $lang['NOSELECT']; + $posts = $row['user_posts'] ?: 0; + $pm = $bb_cfg['text_buttons'] ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; + $avatar = get_avatar($row['user_id'], $row['avatar_ext_id'], !bf($row['user_opt'], 'user_opt', 'dis_avatar'), 50, 50); + + if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || ($group_mod ?? IS_ADMIN)) { + $email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&" . POST_USERS_URL . "=" . $row['user_id']) : 'mailto:' . $row['user_email']; + $email = '' . $row['user_email'] . ''; + } else { + $email = $lang['NOSELECT']; + } + + if ($row['user_website']) { + $www = $bb_cfg['text_buttons'] ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; + } else { + $www = $lang['NOSELECT']; + } + + return ['from' => $from, 'joined' => $joined, 'posts' => $posts, 'pm' => $pm, 'avatar' => $avatar, 'user_time' => $user_time, 'email' => $email, 'www' => $www]; +} + function get_bt_userdata($user_id) { if (!$btu = CACHE('bb_cache')->get('btu_' . $user_id)) { diff --git a/memberlist.php b/memberlist.php index 5edb8e727..9c7967013 100644 --- a/memberlist.php +++ b/memberlist.php @@ -156,37 +156,22 @@ $sql .= " ORDER BY $order_by"; if ($result = DB()->fetch_rowset($sql)) { foreach ($result as $i => $row) { $user_id = $row['user_id']; - $from = $row['user_from']; - $joined = bb_date($row['user_regdate'], $bb_cfg['date_format']); - $posts = $row['user_posts']; - $pm = $bb_cfg['text_buttons'] ? '' . $lang['SEND_PM_TXTB'] . '' : '' . $lang['SEND_PRIVATE_MESSAGE'] . ''; - if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || IS_ADMIN) { - $email_uri = $bb_cfg['board_email_form'] ? ("profile.php?mode=email&" . POST_USERS_URL . "=$user_id") : 'mailto:' . $row['user_email']; - $email = '' . $row['user_email'] . ''; - } else { - $email = ''; - } - - if ($row['user_website']) { - $www = $bb_cfg['text_buttons'] ? '' . $lang['VISIT_WEBSITE_TXTB'] . '' : '' . $lang['VISIT_WEBSITE'] . ''; - } else { - $www = ''; - } + $user_info = generate_user_info($row); $row_class = !($i % 2) ? 'row1' : 'row2'; $template->assign_block_vars('memberrow', array( 'ROW_NUMBER' => $i + ($start + 1), 'ROW_CLASS' => $row_class, 'USER' => profile_url($row), - 'AVATAR' => get_avatar($row['user_id'], $row['avatar_ext_id'], !bf($row['user_opt'], 'user_opt', 'dis_avatar'), 50, 50), - 'FROM' => $from, + 'AVATAR' => $user_info['avatar'], + 'FROM' => $user_info['from'], 'JOINED_RAW' => $row['user_regdate'], - 'JOINED' => $joined, - 'POSTS' => $posts, - 'PM' => $pm, - 'EMAIL' => $email, - 'WWW' => $www, + 'JOINED' => $user_info['joined'], + 'POSTS' => $user_info['posts'], + 'PM' => $user_info['pm'], + 'EMAIL' => $user_info['email'], + 'WWW' => $user_info['www'], 'U_VIEWPROFILE' => PROFILE_URL . $user_id, )); }