diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index e46e49281..8e58c453f 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -256,21 +256,6 @@ static NSString *mailTemplateDefaultLanguage = nil; return allErrors; } -- (iCalCalendar *) calendarFromContent: (NSString *) cnt -{ - iCalCalendar *calendar; - NSArray *calendars; - - calendars = [CardGroup groupsOfClass: [iCalCalendar class] - fromSource: cnt]; - if (calendars && [calendars count]) - calendar = [calendars objectAtIndex: 0]; - else - calendar = nil; - - return calendar; -} - - (iCalEvent *) firstEventFromCalendar: (iCalCalendar *) calendar { iCalEvent *event; @@ -338,7 +323,7 @@ static NSString *mailTemplateDefaultLanguage = nil; } else { - calendar = [self calendarFromContent: oldContent]; + calendar = [iCalCalendar parseSingleFromSource: oldContent]; oldApt = [self firstEventFromCalendar: calendar]; } @@ -351,7 +336,7 @@ static NSString *mailTemplateDefaultLanguage = nil; /* handle new content */ - calendar = [self calendarFromContent: _iCal]; + calendar = [iCalCalendar parseSingleFromSource: _iCal]; newApt = [self firstEventFromCalendar: calendar]; if (newApt == nil) { return [NSException exceptionWithHTTPStatus:400 /* Bad Request */ @@ -488,7 +473,7 @@ static NSString *mailTemplateDefaultLanguage = nil; /* load existing content */ - calendar = [self calendarFromContent: [self iCalString]]; + calendar = [iCalCalendar parseSingleFromSource: [self iCalString]]; if (calendar) apt = [self firstEventFromCalendar: calendar]; else @@ -541,7 +526,7 @@ static NSString *mailTemplateDefaultLanguage = nil; NSString *myEMail; // TODO: do we need to use SOGoAppointment? (prefer iCalEvent?) - calendar = [self calendarFromContent: [self iCalString]]; + calendar = [iCalCalendar parseSingleFromSource: [self iCalString]]; if (calendar) apt = [self firstEventFromCalendar: calendar]; else diff --git a/SoObjects/Appointments/SOGoFreeBusyObject.m b/SoObjects/Appointments/SOGoFreeBusyObject.m index dc0bed2e3..8205d5f35 100644 --- a/SoObjects/Appointments/SOGoFreeBusyObject.m +++ b/SoObjects/Appointments/SOGoFreeBusyObject.m @@ -24,7 +24,6 @@ #include "common.h" #include #include -#include @interface NSDate(UsedPrivates) - (NSString *)icalString; // declared in NGCards @@ -123,8 +122,9 @@ { AgenorUserManager *um; NSMutableString *ms; - NSString *uid, *x; + NSString *uid; unsigned i, count; + iCalPerson *person; um = [AgenorUserManager sharedUserManager]; uid = [[self container] login]; @@ -145,17 +145,9 @@ /* ORGANIZER - strictly required but missing for now */ /* ATTENDEE */ - [ms appendString:@"ATTENDEE"]; - if ((x = [um getCNForUID:uid])) { - [ms appendString:@";CN=\""]; - [ms appendString:[x iCalDQUOTESafeString]]; - [ms appendString:@"\""]; - } - if ((x = [um getEmailForUID:uid])) { - [ms appendString:@":"]; /* sic! */ - [ms appendString:[x iCalSafeString]]; - } - [ms appendString:@"\r\n"]; + person = [um iCalPersonWithUid: uid]; + [person setTag: @"ATTENDEE"]; + [ms appendString: [person versitString]]; /* DTSTART */ [ms appendString:@"DTSTART:"]; diff --git a/SoObjects/Contacts/SOGoContactGCSEntry.m b/SoObjects/Contacts/SOGoContactGCSEntry.m index 072acacc8..5520f0102 100644 --- a/SoObjects/Contacts/SOGoContactGCSEntry.m +++ b/SoObjects/Contacts/SOGoContactGCSEntry.m @@ -49,7 +49,6 @@ - (NGVCard *) vCard { - NSArray *cards; NSString *contentStr; if (!card) @@ -57,17 +56,14 @@ contentStr = [self contentAsString]; if ([contentStr hasPrefix:@"BEGIN:VCARD"]) { - cards = [NGVCard parseVCardsFromSource: contentStr]; - if ([cards count] > 0) - { - card = [cards objectAtIndex: 0]; - [card retain]; - } - else - card = [NGVCard new]; + card = [NGVCard parseSingleFromSource: contentStr]; + [card retain]; } else - card = [NGVCard new]; + { + card = [NGVCard new]; + [card setTag: @"vcard"]; + } } return card; diff --git a/SoObjects/SOGo/SOGoCustomGroupFolder.m b/SoObjects/SOGo/SOGoCustomGroupFolder.m index 2f3b6ad1c..3e39df8d6 100644 --- a/SoObjects/SOGo/SOGoCustomGroupFolder.m +++ b/SoObjects/SOGo/SOGoCustomGroupFolder.m @@ -42,7 +42,7 @@ static NSString *SOGoUIDSeparator = @","; /* accessors */ - (NSArray *)unescapeURLComponents:(NSArray *)_parts { -#warning TODO: implement URL UID unescaping if necessary +// #warning TODO: implement URL UID unescaping if necessary // TODO: who calls this for what? // Note: remember URL encoding! return _parts; diff --git a/SoObjects/SOGo/SOGoFolder.m b/SoObjects/SOGo/SOGoFolder.m index e6bfc6157..d21abcb81 100644 --- a/SoObjects/SOGo/SOGoFolder.m +++ b/SoObjects/SOGo/SOGoFolder.m @@ -91,12 +91,18 @@ return [[self folderManager] folderAtPath:_path]; } -- (GCSFolder *)ocsFolder { - if (self->ocsFolder != nil) - return [self->ocsFolder isNotNull] ? self->ocsFolder : nil; - - self->ocsFolder = [[self ocsFolderForPath:[self ocsPath]] retain]; - return self->ocsFolder; +- (GCSFolder *) ocsFolder { + GCSFolder *folder; + + if (!ocsFolder) + ocsFolder = [[self ocsFolderForPath:[self ocsPath]] retain]; + + if ([ocsFolder isNotNull]) + folder = ocsFolder; + else + folder = nil; + + return folder; } - (NSArray *)fetchContentObjectNames {