From a049cd291c08cdc86e9e8caf1d46e10f5fdad453 Mon Sep 17 00:00:00 2001 From: znek Date: Fri, 22 Oct 2004 15:29:01 +0000 Subject: [PATCH] improved logic git-svn-id: http://svn.opengroupware.org/SOPE/trunk@308 e4a50df8-12e2-0310-a44c-efbce7f8a7e3 --- sope-appserver/NGObjWeb/ChangeLog | 5 ++++- .../NGObjWeb/NGObjWeb.xcode/project.pbxproj | 2 +- sope-appserver/NGObjWeb/Version | 2 +- sope-appserver/NGObjWeb/WOElement.m | 21 +++++++++++-------- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/sope-appserver/NGObjWeb/ChangeLog b/sope-appserver/NGObjWeb/ChangeLog index 27dd66f6..d7499733 100644 --- a/sope-appserver/NGObjWeb/ChangeLog +++ b/sope-appserver/NGObjWeb/ChangeLog @@ -1,7 +1,10 @@ 2004-10-22 Marcus Mueller + * WOElement.m: queryParameters override keys from queryDictionary in + case of conflicts (v4.3.72) + * WOElement.m: if both queryDictionary and queryParameters were set on - an element, the '?' seperator wasn't rendered when it should in fact + an element, the '&' seperator wasn't rendered when it should in fact (v4.3.71) 2004-10-22 Helge Hess diff --git a/sope-appserver/NGObjWeb/NGObjWeb.xcode/project.pbxproj b/sope-appserver/NGObjWeb/NGObjWeb.xcode/project.pbxproj index c378eed3..81e7cc55 100644 --- a/sope-appserver/NGObjWeb/NGObjWeb.xcode/project.pbxproj +++ b/sope-appserver/NGObjWeb/NGObjWeb.xcode/project.pbxproj @@ -820,7 +820,7 @@ ); buildSettings = { DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 4.3.71; + DYLIB_CURRENT_VERSION = 4.3.72; FRAMEWORK_SEARCH_PATHS = "$(LOCAL_LIBRARY_DIR)/Frameworks"; FRAMEWORK_VERSION = A; GCC_PRECOMPILE_PREFIX_HEADER = YES; diff --git a/sope-appserver/NGObjWeb/Version b/sope-appserver/NGObjWeb/Version index 57007b9f..89a1946d 100644 --- a/sope-appserver/NGObjWeb/Version +++ b/sope-appserver/NGObjWeb/Version @@ -1,6 +1,6 @@ # version file -SUBMINOR_VERSION:=71 +SUBMINOR_VERSION:=72 # v4.3.42 requires libNGExtensions v4.3.116 # v4.3.40 requires libNGExtensions v4.3.115 diff --git a/sope-appserver/NGObjWeb/WOElement.m b/sope-appserver/NGObjWeb/WOElement.m index f53a524a..bae906c8 100644 --- a/sope-appserver/NGObjWeb/WOElement.m +++ b/sope-appserver/NGObjWeb/WOElement.m @@ -165,6 +165,7 @@ static id numStrings[100]; NSString *value; BOOL isFirst; WOComponent *sComponent; + NSArray *paraKeys; if ((_queryDict == nil) && (_paras == nil)) return nil; @@ -172,26 +173,28 @@ static id numStrings[100]; str = [NSMutableString stringWithCapacity:128]; sComponent = [_ctx component]; - keys = [_queryDict keyEnumerator]; isFirst = YES; + paraKeys = [_paras allKeys]; + + /* ?style parameters */ + + keys = [_paras keyEnumerator]; while ((key = [keys nextObject])) { - value = [[_queryDict objectForKey:key] stringValue]; + value = [[_paras objectForKey:key] stringValueInComponent:sComponent]; value = value ? [value stringByEscapingURL] : @""; key = key ? [key stringByEscapingURL] : @""; - + if (isFirst) isFirst = NO; else [str appendString:@"&"]; - + [str appendString:key]; [str appendString:@"="]; [str appendString:value]; } - - /* ?style parameters */ - keys = [_paras keyEnumerator]; - while ((key = [keys nextObject])) { - value = [[_paras objectForKey:key] stringValueInComponent:sComponent]; + keys = [_queryDict keyEnumerator]; + while ((key = [keys nextObject]) && (![paraKeys containsObject:key])) { + value = [[_queryDict objectForKey:key] stringValue]; value = value ? [value stringByEscapingURL] : @""; key = key ? [key stringByEscapingURL] : @""; -- 2.39.5