From 891461ea29498baab5b2ec58693bddf2a6132c68 Mon Sep 17 00:00:00 2001 From: Suhaib Khan Date: Fri, 21 Feb 2014 13:01:22 +0530 Subject: [PATCH] [ticket/10737] Using JQuery events and JSON response. PHPBB3-10737 --- phpBB/assets/javascript/core.js | 26 +++++++++++++++++++ phpBB/memberlist.php | 11 ++++---- .../prosilver/template/memberlist_search.html | 23 +--------------- .../template/memberlist_search.html | 23 +--------------- 4 files changed, 33 insertions(+), 50 deletions(-) diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index 4657af90abf..3b94ffaba4e 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -512,6 +512,32 @@ phpbb.timezonePreselectSelect = function(forceSelector) { } }; +// Listen live search box events +$('.liveinput').keyup(function() { + var str = this.value; + var j = 0; + if (str.length < 3) { + $("#livesearch").innerHTML=""; + return; + } + + $.ajax({ + url:'memberlist.php?mode=livesearch&'+"&q="+str, + success:function(result) { + $.each(result, function(idx, elem) { + j = (idx%2)+1; + $("#livesearch").append("" + elem.name + ""); + }) + } + }); +}); + +$('.liveinput').blur(function() { + setTimeout(function () { + document.getElementById("livesearch").innerHTML=""; + }, 500); +}); + // Toggle notification list $('#notification_list_button').click(function(e) { $('#notification_list').toggle(); diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index d14134867e0..830d1920a3e 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -992,7 +992,6 @@ case 'livesearch': $username_chars = $request->variable('q', '', true); - $hint = ""; $sql = 'SELECT username, user_id FROM ' . USERS_TABLE . ' @@ -1000,17 +999,17 @@ AND username ' . $db->sql_like_expression($username_chars . $db->any_char); $result = $db->sql_query_limit($sql, 10); + $user_list = array(); $i = 1; while ($row = $db->sql_fetchrow($result)) { $j = ($i%2)+1; - $hint.= "" . - $row['username'] . ""; + $user_list[] = array("id" => $row['user_id'], "name" => $row['username']); $i++; } - echo $hint; + + $json_response = new \phpbb\json_response(); + echo $json_response->send($user_list); exit(); break; diff --git a/phpBB/styles/prosilver/template/memberlist_search.html b/phpBB/styles/prosilver/template/memberlist_search.html index 46c77c244a4..95eec8afe38 100644 --- a/phpBB/styles/prosilver/template/memberlist_search.html +++ b/phpBB/styles/prosilver/template/memberlist_search.html @@ -1,24 +1,3 @@ - -

{L_FIND_USERNAME}

@@ -30,7 +9,7 @@

{L_FIND_USERNAME}

-
+
diff --git a/phpBB/styles/subsilver2/template/memberlist_search.html b/phpBB/styles/subsilver2/template/memberlist_search.html index 3ca2ce70fe7..7caf915162f 100644 --- a/phpBB/styles/subsilver2/template/memberlist_search.html +++ b/phpBB/styles/subsilver2/template/memberlist_search.html @@ -64,27 +64,6 @@ - - @@ -96,7 +75,7 @@ - +
{L_USERNAME}{L_COLON}
{L_ICQ}{L_COLON}