mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-07 22:38:51 +00:00
Monotone-Parent: 6b29211b83532bdab288ba2a6d428067b1e81267
Monotone-Revision: f52396704f73dfc96a00df9959e4d9cb043d72fe Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-05-30T20:20:02 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
2007-05-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||
|
||||
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -fullEmail]): new proxy method.
|
||||
([SOGoUser -language]): new method that returns the user's
|
||||
preferred language, or the system's if none has been set yet.
|
||||
|
||||
* SoObjects/SOGo/SOGoObject.m ([SOGoObject -davURL]): new method
|
||||
that returns the full dav url to self.
|
||||
([SOGoObject -soURL]): same as above but for the so url (Web UI).
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
@interface SOGoUser : SoUser
|
||||
{
|
||||
NSString *cn;
|
||||
NSString *language;
|
||||
NSArray *allEmails;
|
||||
NSUserDefaults *userDefaults;
|
||||
NSUserDefaults *userSettings;
|
||||
@@ -56,6 +57,8 @@
|
||||
|
||||
/* properties */
|
||||
|
||||
- (NSString *) fullEmail;
|
||||
|
||||
- (NSString *) primaryEmail;
|
||||
- (NSString *) systemEmail;
|
||||
- (NSArray *) allEmails;
|
||||
@@ -80,6 +83,7 @@
|
||||
- (NSUserDefaults *) userDefaults;
|
||||
- (NSUserDefaults *) userSettings;
|
||||
|
||||
- (NSString *) language;
|
||||
- (NSTimeZone *) timeZone;
|
||||
- (NSTimeZone *) serverTimeZone;
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
static NSTimeZone *serverTimeZone = nil;
|
||||
static NSString *fallbackIMAP4Server = nil;
|
||||
static NSString *defaultLanguage = nil;
|
||||
static NSURL *AgenorProfileURL = nil;
|
||||
|
||||
@interface NSObject (SOGoRoles)
|
||||
@@ -66,7 +67,14 @@ static NSURL *AgenorProfileURL = nil;
|
||||
AgenorProfileURL = [[NSURL alloc] initWithString: profileURL];
|
||||
}
|
||||
if (!fallbackIMAP4Server)
|
||||
ASSIGN (fallbackIMAP4Server, [ud stringForKey: @"SOGoFallbackIMAP4Server"]);
|
||||
ASSIGN (fallbackIMAP4Server,
|
||||
[ud stringForKey: @"SOGoFallbackIMAP4Server"]);
|
||||
if (!defaultLanguage)
|
||||
{
|
||||
ASSIGN (defaultLanguage, [ud stringForKey: @"SOGoDefaultLanguage"]);
|
||||
if (!defaultLanguage)
|
||||
ASSIGN (defaultLanguage, @"English");
|
||||
}
|
||||
}
|
||||
|
||||
+ (SOGoUser *) userWithLogin: (NSString *) newLogin
|
||||
@@ -87,6 +95,7 @@ static NSURL *AgenorProfileURL = nil;
|
||||
userDefaults = nil;
|
||||
userSettings = nil;
|
||||
allEmails = nil;
|
||||
language = nil;
|
||||
}
|
||||
|
||||
return self;
|
||||
@@ -116,6 +125,8 @@ static NSURL *AgenorProfileURL = nil;
|
||||
{
|
||||
[userDefaults release];
|
||||
[userSettings release];
|
||||
[allEmails release];
|
||||
[language release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@@ -144,6 +155,11 @@ static NSURL *AgenorProfileURL = nil;
|
||||
|
||||
/* properties */
|
||||
|
||||
- (NSString *) fullEmail
|
||||
{
|
||||
return [[LDAPUserManager sharedUserManager] getFullEmailForUID: login];
|
||||
}
|
||||
|
||||
- (NSString *) primaryEmail
|
||||
{
|
||||
if (!allEmails)
|
||||
@@ -249,6 +265,19 @@ static NSURL *AgenorProfileURL = nil;
|
||||
return userSettings;
|
||||
}
|
||||
|
||||
- (NSString *) language
|
||||
{
|
||||
if (!language)
|
||||
{
|
||||
language = [[self userDefaults] stringForKey: @"Language"];
|
||||
if (!language)
|
||||
language = defaultLanguage;
|
||||
[language retain];
|
||||
}
|
||||
|
||||
return language;
|
||||
}
|
||||
|
||||
- (NSTimeZone *) timeZone
|
||||
{
|
||||
NSString *timeZoneName;
|
||||
|
||||
Reference in New Issue
Block a user