1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-13 04:04:12 +02:00

Merge pull request #2267 from prototech/ticket/10737

[ticket/10737] Add  live member search.

* prototech/ticket/10737:
  [ticket/10737] Remove loading indicator.
  [ticket/10737] Enforce allow_live_searches setting in memberlist.php.
  [ticket/10737] Add config setting to disable live searches.
  [ticket/10737] Add loading indicator and alert box code to simple_footer.html.
  [ticket/10737] Load core.js and ajax.js in simple_footer.html.
  [ticket/10737] Set the username as the input value instead of redirecting.
  [ticket/10737] Drop subsilver2 changes.
  [ticket/10737] Add a more generic live search implementation.
  [ticket/10737] Clean up memberlist.php.
  [ticket/10737] Use dropdown for search results container.
  [ticket/10737] Adding delayed keyup and removing target_blank.
  [ticket/10737] Using UTF-8 aware alternatives in PHP code.
  [ticket/10737] Removing obsolete code.
  [ticket/10737] Avoid hard-coding table row and use case-insensitive search.
  [ticket/10737] Removing unnecessary/obsolete code.
  [ticket/10737] Using JQuery events and JSON response.
  [ticket/10737] Code fixes in AJAX search feature
  [ticket/10737] Improvements over last commit
  [ticket/10737] Adding username suggestions in "Find a member" using AJAX
This commit is contained in:
Joas Schilling
2014-05-03 16:39:31 +02:00
12 changed files with 438 additions and 21 deletions

View File

@@ -315,13 +315,17 @@ $('.poll_view_results a').click(function(e) {
$('[data-ajax]').each(function() {
var $this = $(this),
ajax = $this.attr('data-ajax'),
filter = $this.attr('data-filter'),
fn;
if (ajax !== 'false') {
fn = (ajax !== 'true') ? ajax : null;
filter = (filter !== undefined) ? phpbb.getFunctionByName(filter) : null;
phpbb.ajaxify({
selector: this,
refresh: $this.attr('data-refresh') !== undefined,
filter: filter,
callback: fn
});
}

View File

@@ -7,9 +7,21 @@
<p>{L_FIND_USERNAME_EXPLAIN}</p>
<fieldset class="fields1 column1">
<dl>
<dl style="overflow: visible;">
<dt><label for="username">{L_USERNAME}{L_COLON}</label></dt>
<dd><input type="text" name="username" id="username" value="{USERNAME}" class="inputbox" /></dd>
<dd>
<input type="text" name="username" id="username" value="{USERNAME}" class="inputbox"<!-- IF U_LIVE_SEARCH --> autocomplete="off" data-filter="phpbb.search.filter" data-ajax="member_search" data-min-length="3" data-url="{U_LIVE_SEARCH}" data-results="#user-search" data-overlay="false"<!-- ENDIF --> />
<!-- IF U_LIVE_SEARCH -->
<div class="dropdown-container">
<div class="dropdown live-search hidden" id="user-search">
<div class="pointer"><div class="pointer-inner"></div></div>
<ul class="dropdown-contents search-results">
<li class="search-result-tpl"><span class="search-result"></span></li>
</ul>
</div>
</div>
<!-- ENDIF -->
</dd>
</dl>
<!-- IF S_EMAIL_SEARCH_ALLOWED -->
<dl>

View File

@@ -4,11 +4,27 @@
<!-- IF TRANSLATION_INFO --><br />{TRANSLATION_INFO}<!-- ENDIF -->
<!-- IF DEBUG_OUTPUT --><br />{DEBUG_OUTPUT}<!-- ENDIF -->
</div>
<div id="darkenwrapper" data-ajax-error-title="{L_AJAX_ERROR_TITLE}" data-ajax-error-text="{L_AJAX_ERROR_TEXT}" data-ajax-error-text-abort="{L_AJAX_ERROR_TEXT_ABORT}" data-ajax-error-text-timeout="{L_AJAX_ERROR_TEXT_TIMEOUT}" data-ajax-error-text-parsererror="{L_AJAX_ERROR_TEXT_PARSERERROR}">
<div id="darken">&nbsp;</div>
</div>
<div id="loading_indicator"></div>
<div id="phpbb_alert" class="phpbb_alert" data-l-err="{L_ERROR}" data-l-timeout-processing-req="{L_TIMEOUT_PROCESSING_REQ}">
<a href="#" class="alert_close"></a>
<h3 class="alert_title"></h3><p class="alert_text"></p>
</div>
<div id="phpbb_confirm" class="phpbb_alert">
<a href="#" class="alert_close"></a>
<div class="alert_text"></div>
</div>
</div>
<script type="text/javascript" src="{T_JQUERY_LINK}"></script>
<!-- IF S_ALLOW_CDN --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
<!-- INCLUDEJS forum_fn.js -->
<!-- INCLUDEJS ajax.js -->
<!-- EVENT simple_footer_after -->

View File

@@ -473,6 +473,10 @@ ul.linklist.bulletin li.no-bulletin:before {
margin-right: -500px;
}
.dropdown.live-search {
top: auto;
}
.dropdown-container.topic-tools {
float: left;
}

View File

@@ -96,7 +96,7 @@ fieldset.fields1 div {
}
/* Set it back to 0px for the reCaptcha divs: PHPBB3-9587 */
fieldset.fields1 #recaptcha_widget_div div {
fieldset.fields1 #recaptcha_widget_div div, fieldset.fields1 .live-search div {
margin-bottom: 0;
}