]> err.no Git - sope/commitdiff
fixed some logging bug (#1624)
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sun, 20 Nov 2005 18:00:37 +0000 (18:00 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sun, 20 Nov 2005 18:00:37 +0000 (18:00 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1184 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/DynamicElements/WORadioButton.m
sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m
sope-appserver/NGObjWeb/SoObjects/SoObjectRequestHandler.m
sope-appserver/NGObjWeb/Version
sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m

index a35535aaa48978ea899bf04a0cdb0916aeb0d0e8..5eb55d98d5f23bd04fd62fc73d5c13b907949e99 100644 (file)
@@ -1,3 +1,12 @@
+2005-11-20  Helge Hess  <helge.hess@opengroupware.org>
+
+       * v4.5.213
+
+       * DynamicElements/_WOComplexHyperlink.m: fixed a logging bug of
+         WODebugStaticLinkProcessing (#fixes OGo bug #1624)
+
+       * SoObjects/SoObjectRequestHandler.m: minor code cleanups
+
 2005-11-17  Helge Hess  <helge.hess@opengroupware.org>
 
        * v4.5.212
index a514d2bf4d56cad8a9d86a007c19638f635ed300..57d7c06e98ce8011fe6804e010d990c9d31cf413 100644 (file)
@@ -71,6 +71,9 @@
     return;
   
   // TODO: this seems to have issues
+
+  // TODO: when a page is called with GET, this overwrites the selection!
+  //       - so we should probably only push the value for POST?
   
   formValue = [_req formValueForKey:OWFormElementName(self, _ctx)];
   
index 4fc7dda5e671a2254f9a396309fc7e1c5095bdf1..31d02d4d9a0dfe7828700ed3772b6ea5fe2019ca 100644 (file)
@@ -370,11 +370,14 @@ static BOOL debugStaticLinks = NO;
 
 - (BOOL)shouldRewriteURLString:(NSString *)_s inContext:(WOContext *)_ctx {
   // TODO: we need a binding to disable rewriting!
-  NSRange r;
+  NSRange  r;
   
   r = [_s rangeOfString:@":"];
-  if (!r.length) return YES;
-  return [[_s substringToIndex:r.location] isEqualToString:@"http"];
+  if (r.length == 0) 
+    return YES;
+  
+  /* only rewrite HTTP URLs */
+  return [_s hasPrefix:@"http"];
 }
 
 - (BOOL)_appendHrefToResponse:(WOResponse *)_r inContext:(WOContext *)_ctx {
@@ -384,17 +387,20 @@ static BOOL debugStaticLinks = NO;
   
   base      = [_ctx baseURL];
   hrefValue = [self->href valueInContext:_ctx];
-  url       = hrefValue;
+  url       = nil;
   
   if (hrefValue == nil)
     return NO;
   
-  if ([hrefValue isKindOfClass:NSURLClass]) {
+  if ((*(Class *)hrefValue == NSURLClass) ||
+      [hrefValue isKindOfClass:NSURLClass]) {
     s = [hrefValue stringValueRelativeToURL:base];
   }
   else {
+    /* given HREF is a string */
     s = [hrefValue stringValue];
     
+    /* we do not want to rewrite stuff like mailto: or javascript: URLs */
     if ([self shouldRewriteURLString:s inContext:_ctx]) {
       if ([s isAbsoluteURL]) {
         // TODO: why are we doing this? we could just pass through the string?
@@ -415,7 +421,7 @@ static BOOL debugStaticLinks = NO;
       
       if (url == nil) {
         [self logWithFormat:
-                @"couldn't construct URL from 'href' string '%@' (base=%@)",
+                @"could not construct URL from 'href' string '%@' (base=%@)",
                 s, base];
         return NO;
       }
@@ -431,9 +437,13 @@ static BOOL debugStaticLinks = NO;
     [self logWithFormat:@"  base     %@", base];
     [self logWithFormat:@"  base-abs %@", [base absoluteString]];
     [self logWithFormat:@"  url      %@", url];
-    [self logWithFormat:@"  url-abs  %@", [url absoluteString]];
+    if (url != nil)
+      [self logWithFormat:@"  url-abs  %@", [url absoluteString]];
+    else
+      [self logWithFormat:@"  href     %@", hrefValue];
     [self logWithFormat:@"  string   %@", s];
   }
+  
   WOResponse_AddString(_r, s);
   return YES;
 }
index 4e5bccfe9ec39f46592840c00d2bb7e18d2863e7..38a4d35c9954facbed8c7b3e7ec287b997ccb214 100644 (file)
@@ -352,7 +352,7 @@ static NSString *redirectURISafetySuffix = nil;
                          inContext:_ctx
                          error:&error
                          acquire:doAcquire];
-    if (error)
+    if (error != nil)
       currentObject = error;
     
     /* retain result */
@@ -552,14 +552,14 @@ static NSString *redirectURISafetySuffix = nil;
   doDispatch = YES;
   object = [self lookupObjectForRequest:_rq inContext:_ctx];
   
-  if (object) {
+  if (object != nil) {
     [self->dispatcherRules 
          takeValue:[_ctx clientObject] forKey:@"clientObject"];
     [self->dispatcherRules takeValue:object forKey:@"object"];
   }
   else {
     r = [_ctx response];
-    [r setStatus:404];
+    [r setStatus:404 /* not found */];
     [r setHeader:@"text/html" forKey:@"content-type"];
     [r appendContentString:@"object not found: "];
     [r appendContentHTMLString:
index 1ff73710473e752cacdf3d0b96ec9900da9a1762..08121c7d934767099e5b4c51ebc8c7165736dc83 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=212
+SUBMINOR_VERSION:=213
 
 # v4.5.122 requires libNGExtensions v4.5.153
 # v4.5.91  requires libNGExtensions v4.5.134
index 1bf37608864371c86a51ef5e5f3f91bc8379b1d4..0b18d8753d9d559ff1a6fd4e23f143afc46c4689 100644 (file)
@@ -211,6 +211,7 @@ static NSTimeZone                *gmt      = nil;
   
   if ([pathInfo length] > 0) {
     /* check whether all the parent collections are available */
+    // TODO: we might also want to check for a 'create' permission
     if ([pathInfo rangeOfString:@"/"].length > 0) {
       return [self httpException:409 /* Conflict */
                   reason: