diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 589877305f..ec1ceba8e4 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1293,13 +1293,6 @@ switch ($mode) $total_users = $config['num_users']; } - $s_char_options = ''; - for ($i = 97; $i < 123; $i++) - { - $s_char_options .= ''; - } - $s_char_options .= ''; - // Build a relevant pagination_url $params = $sort_params = array(); @@ -1329,6 +1322,7 @@ switch ($mode) 'first_char' => array('first_char', ''), ); + $u_first_char_params = array(); foreach ($check_params as $key => $call) { if (!isset($_REQUEST[$key])) @@ -1340,6 +1334,10 @@ switch ($mode) $param = urlencode($key) . '=' . ((is_string($param)) ? urlencode($param) : $param); $params[] = $param; + if ($key != 'first_char') + { + $u_first_char_params[] = $param; + } if ($key != 'sk' && $key != 'sd') { $sort_params[] = $param; @@ -1359,6 +1357,27 @@ switch ($mode) unset($search_params, $sort_params); + $u_first_char_params = implode('&', $u_first_char_params); + $u_first_char_params .= ($u_first_char_params) ? '&' : ''; + + $first_characters = array(); + $first_characters[''] = $user->lang['ALL']; + for ($i = 97; $i < 123; $i++) + { + $first_characters[chr($i)] = chr($i - 32); + } + $first_characters['other'] = $user->lang['OTHER']; + + foreach ($first_characters as $char => $desc) + { + $template->assign_block_vars('first_char', array( + 'DESC' => $desc, + 'VALUE' => $char, + 'S_SELECTED' => ($first_char == $char) ? true : false, + 'U_SORT' => append_sid("{$phpbb_root_path}memberlist.$phpEx", $u_first_char_params . 'first_char=' . $char) . '#memberlist', + )); + } + // Some search user specific data if ($mode == 'searchuser' && ($config['load_search'] || $auth->acl_get('a_'))) { @@ -1603,7 +1622,6 @@ switch ($mode) 'S_LEADERS_SET' => $leaders_set, 'S_MODE_SELECT' => $s_sort_key, 'S_ORDER_SELECT' => $s_sort_dir, - 'S_CHAR_OPTIONS' => $s_char_options, 'S_MODE_ACTION' => $pagination_url) ); } diff --git a/phpBB/styles/prosilver/template/memberlist_body.html b/phpBB/styles/prosilver/template/memberlist_body.html index 197cbd4a0c..9e6f8c3aab 100644 --- a/phpBB/styles/prosilver/template/memberlist_body.html +++ b/phpBB/styles/prosilver/template/memberlist_body.html @@ -34,34 +34,11 @@
  • {L_FIND_USERNAME}{L_HIDE_MEMBER_SEARCH} - {L_ALL}  - A  - B  - C  - D  - E  - F  - G  - H  - I  - J  - K  - L  - M  - N  - O  - P  - Q  - R  - S  - T  - U  - V  - W  - X  - Y  - Z  - # + + + {first_char.DESC}  + +