SOGoDraftObject
SOGoDraftsFolder
SOGoMailAccount
+ SOGoSharedMailAccount
SOGoMailBodyPart
SOGoImageMailBodyPart
SOGoMessageMailBodyPart
SOGoMailFolder
+ SOGoSharedInboxFolder
SOGoMailObject
SOGoMailConnectionEntry
[EODataSource]
SOGoSpecialFoldersInRoot YES|NO - do special folders live under INBOX?
- corresponds to the Cyrus setting: "altnamespace: yes"
SOGoEnableSieveFolder YES|NO - should the Sieve folder be visible?
+
+SOGoSharedFolderName IMAP4-Name
+ - corresponds to the Cyrus setting: sharedprefix
+SOGoOtherUsersFolderName IMAP4-Name
+ - corresponds to the Cyrus setting: userprefix
2005-07-14 Helge Hess <helge.hess@opengroupware.org>
+ * SOGoUser.m: added -homeFolderInContext: and
+ -schedulingCalendarInContext: methods (v0.9.59)
+
* moved in SOGoUser and SOGoAuthenticator from Main (v0.9.58)
2005-07-14 Marcus Mueller <znek@mulle-kybernetik.com>
return self->userDefaults;
}
+/* folders */
+
+- (id)homeFolderInContext:(id)_ctx {
+ /* Note: watch out for cyclic references */
+ // TODO: maybe we should add an [activeUser reset] method to SOPE
+ id folder;
+
+ if ((folder = [_ctx objectForKey:@"ActiveUserHomeFolder"]) != nil)
+ return [folder isNotNull] ? folder : nil;
+
+ folder = [[WOApplication application] lookupName:[self login]
+ inContext:_ctx acquire:NO];
+ if ([folder isKindOfClass:[NSException class]])
+ return folder;
+
+ [_ctx setObject:folder ? folder : [NSNull null]
+ forKey:@"ActiveUserHomeFolder"];
+ return folder;
+}
+
+- (id)schedulingCalendarInContext:(id)_ctx {
+ /* Note: watch out for cyclic references */
+ id folder;
+
+ if ((folder = [_ctx objectForKey:@"ActiveUserCalendar"]) != nil)
+ return [folder isNotNull] ? folder : nil;
+
+ folder = [self homeFolderInContext:_ctx];
+ if ([folder isKindOfClass:[NSException class]])
+ return folder;
+
+ folder = [folder lookupName:@"Calendar" inContext:_ctx acquire:NO];
+ if ([folder isKindOfClass:[NSException class]])
+ return folder;
+
+ [_ctx setObject:folder ? folder : [NSNull null]
+ forKey:@"ActiveUserCalendar"];
+ return folder;
+}
+
@end /* SOGoUser */