Monotone-Parent: e879ac812e9a6a28e427bd5c6c96b5a3be099ad0
Monotone-Revision: 90684f202c7c2bf2307dd9c9c94961ea8c28c823 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2008-07-09T07:35:10 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
4be5c939c3
commit
4f6a5bec4f
|
@ -188,44 +188,38 @@ withSearchOn: (NSString *) contact
|
|||
NSDictionary *contact;
|
||||
NSArray *folders, *contacts, *descriptors, *sortedContacts;
|
||||
NSMutableDictionary *uniqueContacts;
|
||||
// NSMutableArray *allContacts;
|
||||
unsigned int i, j;
|
||||
NSSortDescriptor *displayNameDescriptor;
|
||||
|
||||
searchText = [self queryParameterForKey: @"search"];
|
||||
if ([searchText length] > 0)
|
||||
{
|
||||
NSLog(@"Search all contacts: %@", searchText);
|
||||
//NSLog(@"Search all contacts: %@", searchText);
|
||||
folders = [[self clientObject] subFolders];
|
||||
//allContacts = [NSMutableArray new];
|
||||
uniqueContacts = [NSMutableDictionary dictionary];
|
||||
for (i = 0; i < [folders count]; i++)
|
||||
{
|
||||
folder = [folders objectAtIndex: i];
|
||||
NSLog(@" Address book: %@ (%@)", [folder displayName], [folder class]);
|
||||
//NSLog(@" Address book: %@ (%@)", [folder displayName], [folder class]);
|
||||
contacts = [folder lookupContactsWithFilter: searchText
|
||||
sortBy: @"displayName"
|
||||
ordering: NSOrderedAscending];
|
||||
for (j = 0; j < [contacts count]; j++)
|
||||
{
|
||||
contact = [contacts objectAtIndex: j];
|
||||
NSLog(@" found %@ (%@)", [contact objectForKey: @"displayName"], [contact objectForKey: @"mail"]);
|
||||
if ([uniqueContacts objectForKey: [contact objectForKey: @"displayName"]] == nil)
|
||||
[uniqueContacts setObject: contact forKey: [contact objectForKey: @"displayName"]];
|
||||
//NSLog(@" found %@ (%@)", [contact objectForKey: @"displayName"], [contact objectForKey: @"mail"]);
|
||||
if ([uniqueContacts objectForKey: [contact objectForKey: @"mail"]] == nil)
|
||||
[uniqueContacts setObject: contact forKey: [contact objectForKey: @"mail"]];
|
||||
}
|
||||
// if ([contacts count] > 0)
|
||||
// [allContacts addObjectsFromArray: contacts];
|
||||
}
|
||||
|
||||
result = [context response];
|
||||
// if ([allContacts count] > 0)
|
||||
if ([uniqueContacts count] > 0)
|
||||
{
|
||||
// Sort the contacts by display name
|
||||
displayNameDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"displayName"
|
||||
ascending:YES] autorelease];
|
||||
descriptors = [NSArray arrayWithObjects: displayNameDescriptor, nil];
|
||||
// sortedContacts = [allContacts sortedArrayUsingDescriptors:descriptors];
|
||||
sortedContacts = [[uniqueContacts allValues] sortedArrayUsingDescriptors: descriptors];
|
||||
|
||||
[(WOResponse*)result appendContentString: [sortedContacts jsonRepresentation]];
|
||||
|
|
Loading…
Reference in New Issue