]> err.no Git - sope/commitdiff
improved logic
authorznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Fri, 22 Oct 2004 15:29:01 +0000 (15:29 +0000)
committerznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Fri, 22 Oct 2004 15:29:01 +0000 (15:29 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@308 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/NGObjWeb.xcode/project.pbxproj
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WOElement.m

index 27dd66f67d5dd34ecdcde4c6ca3af39b251f7fb9..d7499733c820c37f71d40fd8d8b04349d7cfbd03 100644 (file)
@@ -1,7 +1,10 @@
 2004-10-22  Marcus Mueller  <znek@mulle-kybernetik.com>
 
+       * 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  <helge.hess@opengroupware.org>
index c378eed308d6af841b9566e1f7a60e0f4d0f7e09..81e7cc55eda84a2f26d5a0715d0debd3c51971af 100644 (file)
                        );
                        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;
index 57007b9f111fd839f325c438078e40164ee3d9b6..89a1946d839cedae535430f6495045d01a8dbd32 100644 (file)
@@ -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
index f53a524a8fe0bbb8c297ffb815890fa3ce5eccb3..bae906c8de66b8beda3dbea36fba4202e18d9922 100644 (file)
@@ -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] : @"";