mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-06 15:45:34 +02:00
[ticket/10786] Javascript toggle member search panel in memberlist.php
Search functions on the memberlist.php page are now rendered by default and displayed via javascript. If javascript is disabled the page still works as it previously did. PHPBB3-10786
This commit is contained in:
parent
de541ac13b
commit
babe07caef
@ -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 ((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_')))
|
||||
if ((($mode == '' || $mode == '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 (in_array($mode, array('', 'searchuser')) && ($config['load_search'] || $auth->acl_get('a_')))
|
||||
if (($mode == '' || $mode == 'searchuser') && ($config['load_search'] || $auth->acl_get('a_')))
|
||||
{
|
||||
$group_selected = request_var('search_group_id', 0);
|
||||
$s_group_select = '<option value="0"' . ((!$group_selected) ? ' selected="selected"' : '') . '> </option>';
|
||||
@ -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' => ($mode == 'searchuser' || ($mode == '' && $submit)) ? true : false,
|
||||
'S_SEARCH_USER' => ($mode == 'searchuser' || ($mode == '' && $submit)),
|
||||
'S_FORM_NAME' => $form,
|
||||
'S_FIELD_NAME' => $field,
|
||||
'S_SELECT_SINGLE' => $select_single,
|
||||
|
@ -192,6 +192,17 @@ $('#quick-mod-select').change(function () {
|
||||
$('#quickmodform').submit();
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Toggle the member search panel in memberlist.php.
|
||||
*/
|
||||
$('#member_search').click(function () {
|
||||
$('#memberlist_search').slideToggle('fast');
|
||||
phpbb.ajax_callbacks['alt_text'].call(this);
|
||||
//Focus on the username textbox if it's available and displayed
|
||||
if ($('#username').length > 0 && $('#memberlist_search').is(':visible')) {
|
||||
$('#username').focus();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
})(jQuery); // Avoid conflicts with other libraries
|
||||
|
@ -433,43 +433,6 @@ 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. ;)
|
||||
*/
|
||||
|
@ -30,7 +30,7 @@
|
||||
|
||||
<ul class="linklist">
|
||||
<li>
|
||||
<!-- IF U_FIND_MEMBER and not S_SEARCH_USER --><a href="{U_FIND_MEMBER}" onclick="return toggle_section(this, 'memberlist_search', '{LA_FIND_USERNAME}', '{LA_HIDE_MEMBER_SEARCH}')">{L_FIND_USERNAME}</a> • <!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP --><a href="{U_HIDE_FIND_MEMBER}" onclick="return toggle_section(this, 'memberlist_search', '{LA_FIND_USERNAME}', '{LA_HIDE_MEMBER_SEARCH}')">{L_HIDE_MEMBER_SEARCH}</a> • <!-- ENDIF -->
|
||||
<!-- IF U_FIND_MEMBER and not S_SEARCH_USER --><a href="{U_FIND_MEMBER}" id="member_search" data-alt-text="{LA_HIDE_MEMBER_SEARCH}">{L_FIND_USERNAME}</a> • <!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP --><a href="{U_HIDE_FIND_MEMBER}" id="member_search" data-alt-text="{LA_FIND_USERNAME}">{L_HIDE_MEMBER_SEARCH}</a> • <!-- ENDIF -->
|
||||
<strong style="font-size: 0.95em;">
|
||||
<!-- BEGIN first_char -->
|
||||
<a href="{first_char.U_SORT}">{first_char.DESC}</a>
|
||||
|
@ -4,9 +4,9 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
<!-- ENDIF -->
|
||||
|
||||
<div class="panel" id="memberlist_search"<!-- IF not S_SEARCH_USER --> style="display: none;"<!-- ENDIF -->>
|
||||
<!-- IF S_SEARCH_USER -->
|
||||
<!-- INCLUDE memberlist_search.html -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF S_SHOW_GROUP --><!-- INCLUDE memberlist_group.html --><!-- ENDIF -->
|
||||
|
||||
@ -21,9 +21,9 @@
|
||||
<!-- END first_char -->
|
||||
</select> <input type="submit" name="char" value="{L_DISPLAY}" class="btnlite" /></td>
|
||||
<!-- IF U_FIND_MEMBER and not S_SEARCH_USER -->
|
||||
<td class="genmed" align="{S_CONTENT_FLOW_END}"><a href="{U_FIND_MEMBER}" onclick="return toggle_section(this, 'memberlist_search', '{LA_FIND_USERNAME}', '{LA_HIDE_MEMBER_SEARCH}')">{L_FIND_USERNAME}</a></td>
|
||||
<td class="genmed" align="{S_CONTENT_FLOW_END}"><a href="{U_FIND_MEMBER}">{L_FIND_USERNAME}</a></td>
|
||||
<!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP -->
|
||||
<td class="genmed" align="{S_CONTENT_FLOW_END}"><a href="{U_HIDE_FIND_MEMBER}" onclick="return toggle_section(this, 'memberlist_search', '{LA_FIND_USERNAME}', '{LA_HIDE_MEMBER_SEARCH}')">{L_HIDE_MEMBER_SEARCH}</a></td>
|
||||
<td class="genmed" align="{S_CONTENT_FLOW_END}"><a href="{U_HIDE_FIND_MEMBER}">{L_HIDE_MEMBER_SEARCH}</a></td>
|
||||
<!-- ENDIF -->
|
||||
</tr>
|
||||
</table>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!-- You should retain this javascript in your own template! -->
|
||||
|
||||
<!-- IF S_IN_SEARCH_POPUP -->
|
||||
<script type="text/javascript">
|
||||
// <![CDATA[
|
||||
<!-- IF S_IN_SEARCH_POPUP -->
|
||||
function insert_user(user)
|
||||
{
|
||||
opener.document.forms['{S_FORM_NAME}'].{S_FIELD_NAME}.value = ( opener.document.forms['{S_FORM_NAME}'].{S_FIELD_NAME}.value.length && opener.document.forms['{S_FORM_NAME}'].{S_FIELD_NAME}.type == "textarea" ) ? opener.document.forms['{S_FORM_NAME}'].{S_FIELD_NAME}.value + "\n" + user : user;
|
||||
@ -60,46 +60,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
<!-- ENDIF -->
|
||||
|
||||
/**
|
||||
* Toggle a section's visibility status
|
||||
*/
|
||||
function toggle_section(link, panel_id, expand_text, collapse_text)
|
||||
{
|
||||
if (window.jQuery)
|
||||
{
|
||||
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;
|
||||
}
|
||||
// ]]>
|
||||
</script>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<form method="post" action="{S_MODE_ACTION}" name="search">
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user