mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-06 08:55:08 +00:00
Monotone-Parent: 2fdf0ead0781ef2362dd389811d5db44ca4cc84a
Monotone-Revision: c91eef7edcfd08d414664c25a590b6268a7e58e2 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2009-11-29T04:19:32 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
+28
-44
@@ -28,7 +28,6 @@
|
||||
#import <Foundation/NSFileManager.h>
|
||||
#import <Foundation/NSPathUtilities.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSUserDefaults.h>
|
||||
#import <Foundation/NSURL.h>
|
||||
#import <Foundation/NSValue.h>
|
||||
|
||||
@@ -58,18 +57,17 @@
|
||||
#import "NSObject+Utilities.h"
|
||||
#import "NSString+Utilities.h"
|
||||
#import "SOGoCache.h"
|
||||
#import "SOGoDomainDefaults.h"
|
||||
#import "SOGoPermissions.h"
|
||||
#import "SOGoSystemDefaults.h"
|
||||
#import "SOGoUser.h"
|
||||
#import "SOGoUserDefaults.h"
|
||||
#import "SOGoUserFolder.h"
|
||||
#import "SOGoWebDAVAclManager.h"
|
||||
#import "SOGoWebDAVValue.h"
|
||||
|
||||
#import "SOGoObject.h"
|
||||
|
||||
static BOOL kontactGroupDAV = YES;
|
||||
static BOOL sendACLAdvisories = NO;
|
||||
static BOOL useRelativeURLs = NO;
|
||||
|
||||
static NSDictionary *reportMap = nil;
|
||||
static NSMutableDictionary *setterMap = nil;
|
||||
static NSMutableDictionary *getterMap = nil;
|
||||
@@ -172,15 +170,9 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
|
||||
+ (void) initialize
|
||||
{
|
||||
NSUserDefaults *ud;
|
||||
NSString *filename;
|
||||
NSBundle *bundle;
|
||||
|
||||
ud = [NSUserDefaults standardUserDefaults];
|
||||
kontactGroupDAV = ![ud boolForKey:@"SOGoDisableKontact34GroupDAVHack"];
|
||||
sendACLAdvisories = [ud boolForKey: @"SOGoACLsSendEMailNotifications"];
|
||||
useRelativeURLs = [ud boolForKey: @"WOUseRelativeURLs"];
|
||||
|
||||
if (!reportMap)
|
||||
{
|
||||
bundle = [NSBundle bundleForClass: self];
|
||||
@@ -941,23 +933,6 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
return nil; /* one etag matches, so continue with request */
|
||||
}
|
||||
|
||||
/* hack for Kontact 3.4 */
|
||||
|
||||
if (kontactGroupDAV) {
|
||||
WEClientCapabilities *cc;
|
||||
|
||||
cc = [[(WOContext *)_ctx request] clientCapabilities];
|
||||
if ([[cc userAgentType] isEqualToString:@"Konqueror"]) {
|
||||
if ([cc majorVersion] == 3 && [cc minorVersion] == 4) {
|
||||
[self logWithFormat:
|
||||
@"WARNING: applying Kontact 3.4 GroupDAV hack"
|
||||
@" - etag check is disabled!"
|
||||
@" (can be enabled using 'ZSDisableKontact34GroupDAVHack')"];
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: we might want to return the davEntityTag in the response
|
||||
[self debugWithFormat:@"etag '%@' does not match: %@", etag,
|
||||
[etags componentsJoinedByString:@","]];
|
||||
@@ -1041,13 +1016,15 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
- (BOOL) addUserInAcls: (NSString *) uid
|
||||
{
|
||||
BOOL result;
|
||||
SOGoDomainDefaults *dd;
|
||||
|
||||
if ([uid length]
|
||||
&& ![uid isEqualToString: [self ownerInContext: nil]])
|
||||
{
|
||||
[self setRoles: [self aclsForUser: uid]
|
||||
forUser: uid];
|
||||
if (sendACLAdvisories)
|
||||
dd = [[context activeUser] domainDefaults];
|
||||
if ([dd aclSendEMailNotifications])
|
||||
[self sendACLAdditionAdvisoryToUser: uid];
|
||||
result = YES;
|
||||
}
|
||||
@@ -1060,11 +1037,13 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
- (BOOL) removeUserFromAcls: (NSString *) uid
|
||||
{
|
||||
BOOL result;
|
||||
SOGoDomainDefaults *dd;
|
||||
|
||||
if ([uid length])
|
||||
{
|
||||
[self removeAclsForUsers: [NSArray arrayWithObject: uid]];
|
||||
if (sendACLAdvisories)
|
||||
dd = [[context activeUser] domainDefaults];
|
||||
if ([dd aclSendEMailNotifications])
|
||||
[self sendACLRemovalAdvisoryToUser: uid];
|
||||
result = YES;
|
||||
}
|
||||
@@ -1110,12 +1089,12 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
toUser: (NSString *) uid
|
||||
{
|
||||
NSString *language, *pageName;
|
||||
SOGoUser *user;
|
||||
SOGoUserDefaults *userDefaults;
|
||||
SOGoACLAdvisory *page;
|
||||
WOApplication *app;
|
||||
|
||||
user = [SOGoUser userWithLogin: uid roles: nil];
|
||||
language = [user language];
|
||||
userDefaults = [[SOGoUser userWithLogin: uid roles: nil] userDefaults];
|
||||
language = [userDefaults language];
|
||||
pageName = [NSString stringWithFormat: @"SOGoACL%@%@Advisory",
|
||||
language, template];
|
||||
|
||||
@@ -1190,10 +1169,12 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
- (NSString *) davURLAsString
|
||||
{
|
||||
NSURL *davURL;
|
||||
SOGoSystemDefaults *sd;
|
||||
|
||||
davURL = [self davURL];
|
||||
sd = [SOGoSystemDefaults sharedSystemDefaults];
|
||||
|
||||
return (useRelativeURLs ? [davURL path] : [davURL absoluteString]);
|
||||
return ([sd useRelativeURLs] ? [davURL path] : [davURL absoluteString]);
|
||||
}
|
||||
|
||||
- (NSURL *) soURL
|
||||
@@ -1250,19 +1231,22 @@ SEL SOGoSelectorForPropertySetter (NSString *property)
|
||||
NSMutableArray *languages;
|
||||
NSArray *browserLanguages;
|
||||
NSString *language;
|
||||
NSUserDefaults *ud;
|
||||
SOGoUser *user;
|
||||
|
||||
#warning the purpose of this method needs to be reviewed
|
||||
languages = [NSMutableArray array];
|
||||
|
||||
language = [[context activeUser] language];
|
||||
[languages addObject: language];
|
||||
browserLanguages = [[context request] browserLanguages];
|
||||
[languages addObjectsFromArray: browserLanguages];
|
||||
ud = [NSUserDefaults standardUserDefaults];
|
||||
language = [ud stringForKey: @"SOGoDefaultLanguage"];
|
||||
if (language)
|
||||
[languages addObject: language];
|
||||
[languages addObject: @"English"];
|
||||
user = [context activeUser];
|
||||
if ([user isKindOfClass: [SOGoUser class]])
|
||||
{
|
||||
language = [[user userDefaults] language];
|
||||
[languages addObject: language];
|
||||
}
|
||||
else
|
||||
{
|
||||
browserLanguages = [[context request] browserLanguages];
|
||||
[languages addObjectsFromArray: browserLanguages];
|
||||
}
|
||||
|
||||
return languages;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user