From 23daba3d2986d62b56464918d5377b74a97553e7 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 17 Apr 2007 13:45:03 +0000 Subject: [PATCH] Monotone-Parent: 3ddca8791831b56115aff88f2ea9f9bdf89a6ef7 Monotone-Revision: c08c1b108dddcf6aa1bcd2741e800b8a90587384 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-04-17T13:45:03 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 +++ SoObjects/Contacts/SOGoContactLDAPFolder.m | 43 ++++++++++------------ 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/ChangeLog b/ChangeLog index ff1b5306f..52e9615d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-04-17 Wolfgang Sourdeau + + * SoObjects/Contacts/SOGoContactLDAPFolder.m + ([SOGoContactLDAPFolder + -lookupContactsWithFilter:filtersortBy:sortKeyordering:sortOrdering]): request field "uid" when doing a search. + 2007-04-16 Wolfgang Sourdeau * Main/SOGo.m ([SOGo +initialize]): on GNUstep, trigger some diff --git a/SoObjects/Contacts/SOGoContactLDAPFolder.m b/SoObjects/Contacts/SOGoContactLDAPFolder.m index 3338f05cc..6743d19d7 100644 --- a/SoObjects/Contacts/SOGoContactLDAPFolder.m +++ b/SoObjects/Contacts/SOGoContactLDAPFolder.m @@ -50,6 +50,7 @@ @"mail", @"telephonenumber", \ @"mailNickname", \ @"sAMAccountName", \ + @"uid", \ nil] @class WOContext; @@ -97,20 +98,11 @@ - (void) dealloc { - if (connection) - { - if ([connection isBound]) - [connection unbind]; - [connection release]; - } - if (contactIdentifier) - [contactIdentifier release]; - if (userIdentifier) - [userIdentifier release]; - if (rootDN) - [rootDN release]; - if (entries) - [entries release]; + [connection release]; + [contactIdentifier release]; + [userIdentifier release]; + [rootDN release]; + [entries release]; [super dealloc]; } @@ -333,13 +325,16 @@ if (filter && [filter length] > 0) { - qs = [NSString stringWithFormat: - @"(cn='%@*')" - @"OR (sn='%@*')" - @"OR (displayName='%@*')" - @"OR (mail='%@*')" - @"OR (telephoneNumber='*%@*')", - filter, filter, filter, filter, filter]; + if ([filter isEqualToString: @"."]) + qs = @"(cn='*')"; + else + qs = [NSString stringWithFormat: + @"(cn='%@*')" + @"OR (sn='%@*')" + @"OR (displayName='%@*')" + @"OR (mail='%@*')" + @"OR (telephoneNumber='*%@*')", + filter, filter, filter, filter, filter]; qualifier = [EOQualifier qualifierWithQualifierFormat: qs]; } else @@ -362,9 +357,9 @@ if (filter && [filter length] > 0) { -// NSLog (@"%@: fetching records matching '*%@*', sorted by '%@'" -// @" in order %d", -// self, filter, sortKey, sortOrdering); + NSLog (@"%@: fetching records matching '%@', sorted by '%@'" + @" in order %d", + self, filter, sortKey, sortOrdering); records = [NSMutableArray new]; [records autorelease];