| | |
| | | // add group name attrib to the list of attributes to be fetched |
| | | $fetch_attributes[] = $this->prop['groups']['name_attr']; |
| | | } |
| | | else if (is_array($p['group_filters']) && count($p['group_filters'])) { |
| | | if (is_array($p['group_filters']) && count($p['group_filters'])) { |
| | | $this->groups = true; |
| | | |
| | | foreach ($p['group_filters'] as $group_filter) { |
| | | if ($group_filter['name_attr']) |
| | | $fetch_attributes[] = $group_filter['name_attr']; |
| | | } |
| | | } |
| | | |
| | | // fieldmap property is given |
| | |
| | | $this->cache = $rcube->get_cache($cache_name, $cache_type, $cache_ttl); |
| | | |
| | | // determine which attributes to fetch |
| | | $this->prop['list_attributes'] = array_unique($fetch_attributes); |
| | | $this->prop['attributes'] = array_merge(array_values($this->fieldmap), $fetch_attributes); |
| | | $this->prop['list_attributes'] = $fetch_attributes; |
| | | foreach ($rcube->config->get('contactlist_fields') as $col) { |
| | | $this->prop['list_attributes'] = array_merge($this->prop['list_attributes'], $this->_map_field($col)); |
| | | } |
| | |
| | | if (self::is_group_entry($rec)) { |
| | | $out['_type'] = 'group'; |
| | | $out['readonly'] = true; |
| | | $fieldmap['name'] = $this->prop['groups']['name_attr']; |
| | | $fieldmap['name'] = $this->group_data['name_attr'] ? $this->group_data['name_attr'] : $this->prop['groups']['name_attr']; |
| | | } |
| | | |
| | | foreach ($fieldmap as $rf => $lf) |