From de541ac13b44d1f52e1ba4bb626b9ec4e124557f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Col=C3=B3n?= Date: Fri, 20 Apr 2012 00:19:50 -0400 Subject: [PATCH 1/3] [ticket/10786] Javascript toggle member search panel in memberlist.php PHPBB3-10786 --- phpBB/memberlist.php | 8 ++-- phpBB/styles/prosilver/template/forum_fn.js | 37 +++++++++++++++++ .../prosilver/template/memberlist_body.html | 11 ++--- .../prosilver/template/memberlist_search.html | 3 +- .../subsilver2/template/memberlist_body.html | 8 ++-- .../template/memberlist_search.html | 41 ++++++++++++++++++- 6 files changed, 89 insertions(+), 19 deletions(-) diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 091379061c..681e51e3fd 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1025,7 +1025,7 @@ switch ($mode) // We validate form and field here, only id/class allowed $form = (!preg_match('/^[a-z0-9_-]+$/i', $form)) ? '' : $form; $field = (!preg_match('/^[a-z0-9_-]+$/i', $field)) ? '' : $field; - if (($mode == 'searchuser' || sizeof(array_intersect($request->variable_names(phpbb_request_interface::GET), $search_params)) > 0) && ($config['load_search'] || $auth->acl_get('a_'))) + if ((in_array($mode, array('', 'searchuser')) || sizeof(array_intersect($request->variable_names(phpbb_request_interface::GET), $search_params)) > 0) && ($config['load_search'] || $auth->acl_get('a_'))) { $username = request_var('username', '', true); $email = strtolower(request_var('email', '')); @@ -1377,7 +1377,7 @@ switch ($mode) } // Some search user specific data - if ($mode == 'searchuser' && ($config['load_search'] || $auth->acl_get('a_'))) + if (in_array($mode, array('', 'searchuser')) && ($config['load_search'] || $auth->acl_get('a_'))) { $group_selected = request_var('search_group_id', 0); $s_group_select = ''; @@ -1447,7 +1447,7 @@ switch ($mode) 'S_IP_SEARCH_ALLOWED' => ($auth->acl_getf_global('m_info')) ? true : false, 'S_EMAIL_SEARCH_ALLOWED'=> ($auth->acl_get('a_user')) ? true : false, 'S_IN_SEARCH_POPUP' => ($form && $field) ? true : false, - 'S_SEARCH_USER' => true, + 'S_SEARCH_USER' => ($mode == 'searchuser' || ($mode == '' && $submit)) ? true : false, 'S_FORM_NAME' => $form, 'S_FIELD_NAME' => $field, 'S_SELECT_SINGLE' => $select_single, @@ -1598,7 +1598,7 @@ switch ($mode) 'SEARCH_IMG' => $user->img('icon_user_search', $user->lang['SEARCH']), 'U_FIND_MEMBER' => ($config['load_search'] || $auth->acl_get('a_')) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser' . (($start) ? "&start=$start" : '') . (!empty($params) ? '&' . implode('&', $params) : '')) : '', - 'U_HIDE_FIND_MEMBER' => ($mode == 'searchuser') ? $u_hide_find_member : '', + 'U_HIDE_FIND_MEMBER' => ($mode == 'searchuser' || ($mode == '' && $submit)) ? $u_hide_find_member : '', 'U_SORT_USERNAME' => $sort_url . '&sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_FROM' => $sort_url . '&sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a'), 'U_SORT_JOINED' => $sort_url . '&sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a'), diff --git a/phpBB/styles/prosilver/template/forum_fn.js b/phpBB/styles/prosilver/template/forum_fn.js index 995b4b0ab7..527a064fa9 100644 --- a/phpBB/styles/prosilver/template/forum_fn.js +++ b/phpBB/styles/prosilver/template/forum_fn.js @@ -433,6 +433,43 @@ function apply_onkeypress_event() } } +/** +* Toggle a section's visibility status +*/ +function toggle_section(link, panel_id, expand_text, collapse_text) +{ + if (jquery_present) + { + var panel = jQuery('#' + panel_id); + if (panel.is(':visible')) + { + jQuery(link).text(expand_text); + panel.slideUp('fast'); + } + else + { + jQuery(link).text(collapse_text); + panel.slideDown('fast'); + } + } + else + { + var panel = document.getElementById(panel_id); + if (panel.style.display == 'none') + { + link.innerHTML = collapse_text; + panel.style.display = ''; + } + else + { + link.innerHTML = expand_text; + panel.style.display = 'none'; + } + } + + return false; +} + /** * Detect JQuery existance. We currently do not deliver it, but some styles do, so why not benefit from it. ;) */ diff --git a/phpBB/styles/prosilver/template/memberlist_body.html b/phpBB/styles/prosilver/template/memberlist_body.html index 4ba0c5cb2a..023c0e1e4e 100644 --- a/phpBB/styles/prosilver/template/memberlist_body.html +++ b/phpBB/styles/prosilver/template/memberlist_body.html @@ -3,13 +3,11 @@
- - - - - + @@ -32,8 +30,7 @@