Monotone-Parent: 0df73c55c83973b5088ccb3350d103006525098c

Monotone-Revision: 0836ff89730377219eb53f7caa175eefe1f680a3

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-10-03T16:09:43
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau 2006-10-03 16:09:43 +00:00
parent 29f8ab0852
commit 6ca2e1bfcf
8 changed files with 48 additions and 44 deletions

View file

@ -1,5 +1,19 @@
2006-10-03 Wolfgang Sourdeau <wsourdeau@inverse.ca> 2006-10-03 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/NSDictionary+URL.m ([NSDictionary
-asURLParameters]): handle dictionary entries which could be
instances of NSArray rather than NSString.
* SoObjects/SOGo/NSString+URL.m ([NSString
-composeURLWithAction:actionparameters:urlParametersandHash:useHash]): when composing the url, remove the encoded parameters first since they will be added later.
([NSString -urlWithoutParameters]): new method that returns the
url without its parameters.
* SoObjects/SOGo/NSString+iCal.h: deleted obsolete file.
* SoObjects/SOGo/NSDictionary+URL.[hm],
UI/SOGoUI/NSString+URL.[hm]: moved from UI/SOGoUI/.
* UI/WebServerResources/UIxMailEditor.js: add support for * UI/WebServerResources/UIxMailEditor.js: add support for
additions of different types (to, cc, bcc) of recipients from the additions of different types (to, cc, bcc) of recipients from the
address book. address book.

View file

@ -30,9 +30,10 @@ libSOGo_HEADER_FILES = \
\ \
AgenorUserManager.h \ AgenorUserManager.h \
SOGoLRUCache.h \ SOGoLRUCache.h \
NSString+iCal.h \
NSObject+AptComparison.h \ NSObject+AptComparison.h \
WOContext+Agenor.h \ WOContext+Agenor.h \
NSString+URL.h \
NSDictionary+URL.h \
\ \
SOGoAuthenticator.h \ SOGoAuthenticator.h \
SOGoUser.h \ SOGoUser.h \
@ -51,6 +52,9 @@ libSOGo_OBJC_FILES = \
NSObject+AptComparison.m \ NSObject+AptComparison.m \
WOContext+Agenor.m \ WOContext+Agenor.m \
AgenorUserDefaults.m \ AgenorUserDefaults.m \
NSDictionary+URL.m \
NSString+URL.m \
\
\ \
SOGoAuthenticator.m \ SOGoAuthenticator.m \
SOGoUser.m \ SOGoUser.m \

View file

@ -33,7 +33,8 @@
NSMutableString *urlParameters; NSMutableString *urlParameters;
NSArray *keys; NSArray *keys;
NSEnumerator *keysEnum; NSEnumerator *keysEnum;
NSString *currentKey; NSString *currentKey, *separator;
id currentValue;
BOOL isFirst; BOOL isFirst;
urlParameters = [NSMutableString new]; urlParameters = [NSMutableString new];
@ -47,9 +48,16 @@
currentKey = [keysEnum nextObject]; currentKey = [keysEnum nextObject];
while (currentKey) while (currentKey)
{ {
[urlParameters appendFormat: @"%@%@=%@", currentValue = [self objectForKey: currentKey];
((isFirst) ? @"?" : @"&"), if ([currentValue isKindOfClass: [NSArray class]])
currentKey, [self objectForKey: currentKey]]; {
separator = [NSString stringWithFormat: @"&%@=", currentKey];
currentValue
= [currentValue componentsJoinedByString: separator];
}
[urlParameters appendFormat: @"%@%@=%@",
((isFirst) ? @"?" : @"&"),
currentKey, currentValue];
isFirst = NO; isFirst = NO;
currentKey = [keysEnum nextObject]; currentKey = [keysEnum nextObject];
} }

View file

@ -34,6 +34,8 @@
andHash: (BOOL) useHash; andHash: (BOOL) useHash;
- (NSString *) hostlessURL; - (NSString *) hostlessURL;
- (NSString *) urlWithoutParameters;
@end @end
#endif /* NSSTRING_URL_H */ #endif /* NSSTRING_URL_H */

View file

@ -34,7 +34,7 @@
completeURL = [NSMutableString new]; completeURL = [NSMutableString new];
[completeURL autorelease]; [completeURL autorelease];
[completeURL appendString: self]; [completeURL appendString: [self urlWithoutParameters]];
if (![completeURL hasSuffix: @"/"]) if (![completeURL hasSuffix: @"/"])
[completeURL appendString: @"/"]; [completeURL appendString: @"/"];
[completeURL appendString: action]; [completeURL appendString: action];
@ -63,4 +63,18 @@
return newURL; return newURL;
} }
- (NSString *) urlWithoutParameters;
{
NSRange r;
NSString *newUrl;
r = [self rangeOfString:@"?" options: NSBackwardsSearch];
if (r.length > 0)
newUrl = [self substringToIndex: NSMaxRange(r) - 1];
else
newUrl = self;
return newUrl;
}
@end @end

View file

@ -1,32 +0,0 @@
/*
Copyright (C) 2000-2004 SKYRIX Software AG
This file is part of OGo
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OGo; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
// $Id: NSString+iCal.h 577 2005-02-17 14:38:14Z helge $
#ifndef __NSString_iCal_H_
#define __NSString_iCal_H_
// DEPRECATED
#import <Foundation/Foundation.h>
#include <NGiCal/iCalRenderer.h>
#endif /* __NSString_iCal_H_ */

View file

@ -12,9 +12,6 @@ libSOGoUI_HEADER_FILES_INSTALL_DIR = /SOGoUI
FHS_HEADER_DIRS = SOGoUI FHS_HEADER_DIRS = SOGoUI
libSOGoUI_HEADER_FILES += \ libSOGoUI_HEADER_FILES += \
\
NSDictionary+URL.h \
NSString+URL.h \
\ \
UIxComponent.h \ UIxComponent.h \
SOGoDateFormatter.h \ SOGoDateFormatter.h \
@ -23,9 +20,6 @@ libSOGoUI_HEADER_FILES += \
WOContext+UIx.h \ WOContext+UIx.h \
libSOGoUI_OBJC_FILES += \ libSOGoUI_OBJC_FILES += \
\
NSDictionary+URL.m \
NSString+URL.m \
\ \
UIxComponent.m \ UIxComponent.m \
SOGoDateFormatter.m \ SOGoDateFormatter.m \