summaryrefslogtreecommitdiff
path: root/roundcubemail/program/steps/mail/autocomplete.inc
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-25 10:49:39 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-07-25 10:49:39 +0000
commit1cb1648e521e6703526f22256f0cc4455e2a7c52 (patch)
treef507928e28007e86673b780539113d745112c33d /roundcubemail/program/steps/mail/autocomplete.inc
parenta00ad346cee2dbf9f2857d59b9261cc2f6be0091 (diff)
- Added optional "multithreading" autocomplete feature
git-svn-id: https://svn.roundcube.net/trunk@4963 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/steps/mail/autocomplete.inc')
-rw-r--r--roundcubemail/program/steps/mail/autocomplete.inc21
1 files changed, 16 insertions, 5 deletions
diff --git a/roundcubemail/program/steps/mail/autocomplete.inc b/roundcubemail/program/steps/mail/autocomplete.inc
index 395c0e12b..2968f0335 100644
--- a/roundcubemail/program/steps/mail/autocomplete.inc
+++ b/roundcubemail/program/steps/mail/autocomplete.inc
@@ -19,9 +19,6 @@
*/
-$MAXNUM = 15;
-$book_types = (array) $RCMAIL->config->get('autocomplete_addressbooks', 'sql');
-
if ($RCMAIL->action == 'group-expand') {
$abook = $RCMAIL->get_address_book(get_input_value('_source', RCUBE_INPUT_GPC));
if ($gid = get_input_value('_gid', RCUBE_INPUT_GPC)) {
@@ -36,8 +33,22 @@ if ($RCMAIL->action == 'group-expand') {
$OUTPUT->command('replace_group_recipients', $gid, join(', ', $members));
}
+
+ $OUTPUT->send();
}
-else if ($book_types && ($search = get_input_value('_search', RCUBE_INPUT_GPC, true))) {
+
+
+$MAXNUM = (int)$RCMAIL->config->get('autocomplete_max', 15);
+$search = get_input_value('_search', RCUBE_INPUT_GPC, true);
+$source = get_input_value('_source', RCUBE_INPUT_GPC);
+$sid = get_input_value('_id', RCUBE_INPUT_GPC);
+
+if (strlen($source))
+ $book_types = array($source);
+else
+ $book_types = (array) $RCMAIL->config->get('autocomplete_addressbooks', 'sql');
+
+if (!empty($book_types) && strlen($search)) {
$contacts = array();
$books_num = count($book_types);
@@ -87,7 +98,7 @@ else if ($book_types && ($search = get_input_value('_search', RCUBE_INPUT_GPC, t
usort($contacts, 'contact_results_sort');
}
-$OUTPUT->command('ksearch_query_results', $contacts, $search);
+$OUTPUT->command('ksearch_query_results', $contacts, $search, $sid);
$OUTPUT->send();