diff options
author | alecpl <alec@alec.pl> | 2011-07-25 10:49:39 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-07-25 10:49:39 +0000 |
commit | 0213f8d4dddf88b1a3eec91ff0f95832ebac3008 (patch) | |
tree | d221b163d8097347d666edfc5ef393e6020dda3b /program/steps/mail | |
parent | 18371736346a2f71f37f68e6fd13de8b230a8baf (diff) |
- Added optional "multithreading" autocomplete feature
Diffstat (limited to 'program/steps/mail')
-rw-r--r-- | program/steps/mail/autocomplete.inc | 21 | ||||
-rw-r--r-- | program/steps/mail/compose.inc | 8 |
2 files changed, 21 insertions, 8 deletions
diff --git a/program/steps/mail/autocomplete.inc b/program/steps/mail/autocomplete.inc index 395c0e12b..2968f0335 100644 --- a/program/steps/mail/autocomplete.inc +++ b/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(); diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 899702730..d726d8c86 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -111,7 +111,7 @@ if (!is_array($_SESSION['compose'])) $OUTPUT->add_label('nosubject', 'nosenderwarning', 'norecipientwarning', 'nosubjectwarning', 'cancel', 'nobodywarning', 'notsentwarning', 'notuploadedwarning', 'savingmessage', 'sendingmessage', 'messagesaved', 'converting', 'editorwarning', 'searching', 'uploading', 'uploadingmany', - 'fileuploaderror', 'autocompletechars'); + 'fileuploaderror'); $OUTPUT->set_env('compose_id', $COMPOSE_ID); @@ -124,7 +124,6 @@ if (!empty($CONFIG['drafts_mbox'])) { $OUTPUT->set_env('mailbox', $IMAP->get_mailbox_name()); $OUTPUT->set_env('sig_above', $CONFIG['sig_above']); $OUTPUT->set_env('top_posting', $CONFIG['top_posting']); -$OUTPUT->set_env('autocomplete_min_length', $CONFIG['autocomplete_min_length']); // get reference message and set compose mode if ($msg_uid = $_SESSION['compose']['param']['draft_uid']) { @@ -466,10 +465,13 @@ function rcmail_compose_headers($attrib) $input = new $field_type($field_attrib); $out = $input->show($MESSAGE->compose[$param]); } - + if ($form_start) $out = $form_start.$out; + // configure autocompletion + rcube_autocomplete_init(); + return $out; } |