It's easy in 'search' mode of my plugin. Not so easy in the full mode. That search is simply done in JS with regexps.
Cor
*** ../roundcube-plugins/plugins/compose_addressbook/compose_addressbook.php Tue May 10 08:23:23 2011
--- plugins/compose_addressbook/compose_addressbook.php Wed Dec 14 20:41:07 2011
***************
*** 78,86 ****
$rcmail = rcmail::get_instance();
$mode = $rcmail->config->get('compose_addressbook_mode', 'full');
!
// get the addressbooks, or default to all address sources
! $book_types = (array) $rcmail->config->get('compose_addressbooks', array_keys($rcmail->get_address_sources()));
foreach ($book_types as $id) {
$abook = $rcmail->get_address_book($id);
--- 78,87 ----
$rcmail = rcmail::get_instance();
$mode = $rcmail->config->get('compose_addressbook_mode', 'full');
! $search_mode = $rcmail->config->get('addressbook_search_mode');
!
// get the addressbooks, or default to all address sources
! $book_types = (array) $rcmail->config->get('compose_addressbooks', $rcmail->config->get('autocomplete_addressbooks', array_keys($rcmail->get_address_sources())));
foreach ($book_types as $id) {
$abook = $rcmail->get_address_book($id);
***************
*** 109,115 ****
$search=trim(get_input_value('_search', RCUBE_INPUT_POST));
if(!empty($search)) {
! $result = $abook->search(array('name','email'),$search, false, true, true, 'email');
while ($sql_arr = $result->iterate()) {
foreach ((array)$abook->get_col_values('email', $sql_arr, true) as $email) {
$contact = format_email_recipient($email, $sql_arr['name']);
--- 110,116 ----
$search=trim(get_input_value('_search', RCUBE_INPUT_POST));
if(!empty($search)) {
! $result = $abook->search(array('name','email'),$search, $search_mode, true, true, 'email');
while ($sql_arr = $result->iterate()) {
foreach ((array)$abook->get_col_values('email', $sql_arr, true) as $email) {
$contact = format_email_recipient($email, $sql_arr['name']);