From 8862f67513bac25b1a835ed9ae31bff1bf218ad4 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Wed, 19 Jun 2013 10:22:51 -0400
Subject: [PATCH] Use the right attribute to display group names

---
 program/lib/Roundcube/rcube_ldap.php |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/program/lib/Roundcube/rcube_ldap.php b/program/lib/Roundcube/rcube_ldap.php
index 334cb24..d286c2d 100644
--- a/program/lib/Roundcube/rcube_ldap.php
+++ b/program/lib/Roundcube/rcube_ldap.php
@@ -85,8 +85,13 @@
             // 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
@@ -198,8 +203,8 @@
         $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));
         }
@@ -1334,7 +1339,7 @@
         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)

--
Gitblit v1.9.1