From 49bc44c786b62b2dedbf00b437159a56c8cd4bb1 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Mon, 21 Jan 2008 16:35:39 +0000 Subject: [PATCH] Monotone-Parent: d5c71041bfdd88e4baae24bb7a81f91a5e480457 Monotone-Revision: 97ce53eed867e1824e43f8db18e4c2e3affcff00 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-01-21T16:35:39 Monotone-Branch: ca.inverse.sogo --- SoObjects/Contacts/SOGoFolder+CardDAV.m | 47 +++++++++---------------- 1 file changed, 17 insertions(+), 30 deletions(-) diff --git a/SoObjects/Contacts/SOGoFolder+CardDAV.m b/SoObjects/Contacts/SOGoFolder+CardDAV.m index b8d83bb05..8d2fb90ee 100644 --- a/SoObjects/Contacts/SOGoFolder+CardDAV.m +++ b/SoObjects/Contacts/SOGoFolder+CardDAV.m @@ -45,9 +45,9 @@ NSString *baseURL; SOGoObject *o; - o = (id)self; + o = (id ) self; baseURL = [o baseURLInContext: localContext]; - + max = [filters count]; for (count = 0; count < max; count++) { @@ -58,29 +58,22 @@ objectEnumerator]; while ((contact = [contacts nextObject])) - { [o appendObject: contact withBaseURL: baseURL toREPORTResponse: response]; - } } } - (BOOL) _isValidFilter: (NSString *) theString { - if ([theString caseInsensitiveCompare: @"sn"] == NSOrderedSame) - return YES; + NSString *newString; - if ([theString caseInsensitiveCompare: @"givenname"] == NSOrderedSame) - return YES; + newString = [theString lowercaseString]; - if ([theString caseInsensitiveCompare: @"mail"] == NSOrderedSame) - return YES; - - if ([theString caseInsensitiveCompare: @"telephonenumber"] == NSOrderedSame) - return YES; - - return NO; + return ([theString isEqualToString: @"sn"] + || [theString isEqualToString: @"givenname"] + || [theString isEqualToString: @"mail"] + || [theString isEqualToString: @"telephonenumber"]); } - (NSDictionary *) _parseContactFilter: (id ) filterElement @@ -89,26 +82,24 @@ id parentNode; id ranges; + filterData = nil; + parentNode = [filterElement parentNode]; - if ([[parentNode tagName] isEqualToString: @"filter"] && - [self _isValidFilter: [filterElement attribute: @"name"]]) + if ([[parentNode tagName] isEqualToString: @"filter"] + && [self _isValidFilter: [filterElement attribute: @"name"]]) { ranges = [filterElement getElementsByTagName: @"text-match"]; - if ([(NSArray *)ranges count] - && [(NSArray *)[[ranges objectAtIndex: 0] childNodes] count]) + if ([(NSArray *) ranges count] + && [(NSArray *) [[ranges objectAtIndex: 0] childNodes] count]) { filterData = [NSMutableDictionary new]; [filterData autorelease]; [filterData setObject: [[(NSArray *)[[ranges objectAtIndex: 0] childNodes] lastObject] data] forKey: [filterElement attribute: @"name"]]; } - else - filterData = nil; } - else - filterData = nil; return filterData; } @@ -116,23 +107,19 @@ - (NSArray *) _parseContactFilters: (id ) parentNode { NSEnumerator *children; - id node; + id node; NSMutableArray *filters; NSDictionary *filter; - filters = [[NSMutableArray new] autorelease]; + filters = [NSMutableArray array]; children = [[parentNode getElementsByTagName: @"prop-filter"] objectEnumerator]; - - node = [children nextObject]; - - while (node) + while ((node = [children nextObject])) { filter = [self _parseContactFilter: node]; if (filter) [filters addObject: filter]; - node = [children nextObject]; } return filters;