diff --git a/plugins/libkolab/lib/kolab_format_contact.php b/plugins/libkolab/lib/kolab_format_contact.php index 99b25bcd..d8b5162c 100644 --- a/plugins/libkolab/lib/kolab_format_contact.php +++ b/plugins/libkolab/lib/kolab_format_contact.php @@ -31,7 +31,7 @@ class kolab_format_contact extends kolab_format protected $read_func = 'readContact'; protected $write_func = 'writeContact'; - public static $fulltext_cols = array('name', 'firstname', 'surname', 'middlename', 'email'); + public static $fulltext_cols = array('name', 'firstname', 'surname', 'middlename', 'email:address'); public $phonetypes = array( 'home' => Telephone::Home, @@ -385,7 +385,18 @@ class kolab_format_contact extends kolab_format { $data = ''; foreach (self::$fulltext_cols as $col) { - $val = is_array($this->data[$col]) ? join(' ', $this->data[$col]) : $this->data[$col]; + list($col, $field) = explode(':', $colname); + + if ($field) { + $a = array(); + foreach ((array)$this->data[$col] as $attr) + $a[] = $attr[$field]; + $val = join(' ', $a); + } + else { + $val = is_array($this->data[$col]) ? join(' ', $this->data[$col]) : $this->data[$col]; + } + if (strlen($val)) $data .= $val . ' '; }