From c3b8a053c1e60a5f6105d50fa286f6ba6076316c Mon Sep 17 00:00:00 2001 From: Gunnar Wrobel Date: Thu, 23 Apr 2009 08:08:20 +0200 Subject: [PATCH] Fix attribute mapping. Clean filter generation. --- framework/Kolab_Server/lib/Horde/Kolab/Server/Ldap.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/framework/Kolab_Server/lib/Horde/Kolab/Server/Ldap.php b/framework/Kolab_Server/lib/Horde/Kolab/Server/Ldap.php index f394c4390..d55c32bac 100644 --- a/framework/Kolab_Server/lib/Horde/Kolab/Server/Ldap.php +++ b/framework/Kolab_Server/lib/Horde/Kolab/Server/Ldap.php @@ -162,8 +162,8 @@ class Horde_Kolab_Server_Ldap extends Horde_Kolab_Server if (!empty($this->params['map'])) { foreach ($this->params['map'] as $attribute => $map) { if (in_array($attribute, $keys)) { - $data[$map] = $data[$attribute]; - unset($data[$attribute]); + $keys = array_diff($keys, array($attribute)); + $keys[] = $map; } } } @@ -546,17 +546,15 @@ class Horde_Kolab_Server_Ldap extends Horde_Kolab_Server */ public function searchQuery($criteria) { + /* Accept everything. */ + $filter = '(' . strtolower(Horde_Kolab_Server_Object::ATTRIBUTE_OC) . '=*)'; + /* Build the LDAP filter. */ if (count($criteria)) { $f = $this->buildSearchQuery($criteria); - if (!$f instanceOf Net_LDAP2_Filter) { - var_dump($f->getMessage()); - die(); + if ($f instanceOf Net_LDAP2_Filter) { + $filter = $f->asString(); } - $filter = $f->asString(); - } else { - /* Accept everything. */ - $filter = '(' . strtolower(Horde_Kolab_Server_Object::ATTRIBUTE_OC) . '=*)'; } /* Add source-wide filters, which are _always_ AND-ed. */ -- 2.11.0