]> err.no Git - scalable-opengroupware.org/blobdiff - SOGo/UI/SOGoUI/UIxComponent.m
minor cleanups
[scalable-opengroupware.org] / SOGo / UI / SOGoUI / UIxComponent.m
index 0d904db5d863bbdb6cff8043e4631bdfb1642b15..246ccc22fe978449b12b7317246e3c8ff00388ca 100644 (file)
@@ -145,23 +145,25 @@ static BOOL uixDebugEnabled = NO;
 }
 
 - (NSMutableDictionary *)_queryParameters {
-  if(!self->queryParameters) {
-    WORequest *req;
-    NSString  *uri;
-    NSRange   r;
+  // TODO: this code is weird, should use WORequest methods for parsing
+  WORequest *req;
+  NSString  *uri;
+  NSRange   r;
+  
+  if (self->queryParameters)
+    return self->queryParameters;
+
+  self->queryParameters = [[NSMutableDictionary alloc] initWithCapacity:8];
     
-    self->queryParameters = [[NSMutableDictionary alloc] initWithCapacity:8];
+  req = [[self context] request];
+  uri = [req uri];
+  r   = [uri rangeOfString:@"?" options:NSBackwardsSearch];
+  if (r.length > 0) {
+    NSString *qs;
     
-    req = [[self context] request];
-    uri = [req uri];
-    r   = [uri rangeOfString:@"?" options:NSBackwardsSearch];
-    if (r.length > 0) {
-      NSString *qs;
-      
-      qs = [uri substringFromIndex:NSMaxRange(r)];
-      [self _parseQueryString:qs];
-    }    
-  }
+    qs = [uri substringFromIndex:NSMaxRange(r)];
+    [self _parseQueryString:qs];
+  }    
   return self->queryParameters;
 }
 
@@ -178,7 +180,7 @@ static BOOL uixDebugEnabled = NO;
 }
 
 - (void)setSelectedDateQueryParameter:(NSCalendarDate *)_newDate
-                        inDictionary:(NSMutableDictionary *)_qp;
+  inDictionary:(NSMutableDictionary *)_qp;
 {
   if(_newDate != nil)
     [_qp setObject:[self dateStringForDate:_newDate] forKey:@"day"];
@@ -187,14 +189,19 @@ static BOOL uixDebugEnabled = NO;
 }
 
 - (NSString *)completeHrefForMethod:(NSString *)_method {
+  WOContext    *ctx;
   NSDictionary *qp;
-  NSString *qs;
-    
+  NSString     *qs, *qps;
+
   qp = [self queryParameters];
   if([qp count] == 0)
     return _method;
-    
-  qs = [[self context] queryStringFromDictionary:qp];
+
+  ctx = [self context];
+  qps = [ctx queryPathSeparator];
+  [ctx setQueryPathSeparator:@"&"];
+  qs = [ctx queryStringFromDictionary:qp];
+  [ctx setQueryPathSeparator:qps];
   return [_method stringByAppendingFormat:@"?%@", qs];
 }