Bugfix and improve auto-completion
| | |
| | | this.ksearch_display_results = function (a_results, a_result_ids, c) |
| | | { |
| | | // display search results |
| | | if (c && a_results.length) { |
| | | if (c && a_results.length && this.ksearch_input) { |
| | | var p, ul, li; |
| | | |
| | | // create results pane if not present |
| | |
| | | // add each result line to list |
| | | for (i=0; i<a_results.length; i++) { |
| | | li = document.createElement('LI'); |
| | | li.innerHTML = a_results[i].replace(/</, '<').replace(/>/, '>').replace(new RegExp('('+this.ksearch_value+')', 'ig'), '<b>$1</b>'); |
| | | li.innerHTML = a_results[i].replace(new RegExp('('+this.ksearch_value+')', 'ig'), '##$1%%').replace(/</g, '<').replace(/>/g, '>').replace(/##([^%]+)%%/g, '<b>$1</b>'); |
| | | li.onmouseover = function(){ ref.ksearch_select(this); }; |
| | | li.onmouseup = function(){ ref.ksearch_click(this) }; |
| | | li._rcm_id = a_result_ids[i]; |
| | |
| | | |
| | | */ |
| | | |
| | | $MAXNUM = 15; // same limit as in app.js |
| | | $contacts = array(); |
| | | |
| | | if ($search = get_input_value('_search', RCUBE_INPUT_POST)) { |
| | | |
| | | foreach ($RCMAIL->config->get('autocomplete_addressbooks', array('sql')) as $id) { |
| | | $abook = $RCMAIL->get_address_book($id); |
| | | $abook->set_pagesize(20); |
| | | $abook->set_pagesize($MAXNUM); |
| | | |
| | | if ($result = $abook->search(array('email','name'), $search)) { |
| | | while ($sql_arr = $result->iterate()) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (count($contacts) >= $MAXNUM) |
| | | break; |
| | | } |
| | | |
| | | sort($contacts); |