]> err.no Git - sope/commitdiff
do not rewrite plain fragment URLs
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sat, 2 Feb 2008 10:32:14 +0000 (10:32 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sat, 2 Feb 2008 10:32:14 +0000 (10:32 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@1595 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-appserver/NGObjWeb/ChangeLog
sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m
sope-appserver/NGObjWeb/Version

index 02e3fc65456479e6857dcb92484dd1286122d198..3c4fd7e9915741759a82d5d167468802f18e329f 100644 (file)
@@ -1,3 +1,8 @@
+2008-02-02  Helge Hess  <helge.hess@opengroupware.org>
+
+       * DynamicElements/_WOComplexHyperlink.m: do not attempt to rewrite
+         pure fragment URLs (v4.7.19)
+
 2007-11-26  Helge Hess  <helge.hess@opengroupware.org>
 
        * WOComponent+Sync.m: use -setValue:forKey: instead of
index ac5880bb1201782aa82ad40af9ad34fce591a43b..c263cbae26843c5b607f9514b8e0c5874cd55768 100644 (file)
@@ -1,5 +1,6 @@
 /*
-  Copyright (C) 2000-2005 SKYRIX Software AG
+  Copyright (C) 2000-2008 SKYRIX Software AG
+  Copyright (C) 2008      Helge Hess
 
   This file is part of SOPE.
 
@@ -373,7 +374,14 @@ static BOOL debugStaticLinks = NO;
 - (BOOL)shouldRewriteURLString:(NSString *)_s inContext:(WOContext *)_ctx {
   // TODO: we need a binding to disable rewriting!
   NSRange  r;
+
+  r.length = [_s length];
+  
+  /* do not rewrite pure fragment URLs */
+  if (r.length > 0 && [_s characterAtIndex:0] == '#')
+    return false;
   
+  /* rewrite all URLs w/o a protocol */
   r = [_s rangeOfString:@":"];
   if (r.length == 0) 
     return YES;
@@ -410,10 +418,10 @@ static BOOL debugStaticLinks = NO;
         url = [NSURLClass URLWithString:s];
       }
       else if (base != nil) {
-       /* avoid creating a new URL for ".", just return the base */
-       url = [s isEqualToString:@"."]
-         ? base
-         : (NSURL *)[NSURLClass URLWithString:s relativeToURL:base];
+        /* avoid creating a new URL for ".", just return the base */
+        url = [s isEqualToString:@"."]
+          ? base
+          : (NSURL *)[NSURLClass URLWithString:s relativeToURL:base];
       }
       else {
         [self warnWithFormat:@"missing base URL in context ..."];
index 07c9dd8fce981a164528940394f027cc17a04a98..d9b1994d68383576a8f9b66ef6ca5658d29f8b3b 100644 (file)
@@ -1,6 +1,6 @@
 # version file
 
-SUBMINOR_VERSION:=18
+SUBMINOR_VERSION:=19
 
 # v4.7.11  requires libNGExtensions v4.7.194
 # v4.5.234 requires libDOM          v4.5.21