Fix selfUrl() result when using URL rewriting.
authorJan Schneider <jan@horde.org>
Tue, 21 Dec 2010 19:13:48 +0000 (20:13 +0100)
committerJan Schneider <jan@horde.org>
Tue, 21 Dec 2010 19:14:56 +0000 (20:14 +0100)
framework/Core/lib/Horde.php
framework/Core/test/Horde/Core/UrlTest.php

index 19cb343..84a8634 100644 (file)
@@ -1228,6 +1228,9 @@ HTML;
                 $_SERVER['SCRIPT_NAME'] :
                 $_SERVER['PHP_SELF'];
         }
+        if (isset($_SERVER['REQUEST_URI'])) {
+            $url = Horde_String::common($_SERVER['REQUEST_URI'], $url);
+        }
         if (substr($url, -9) == 'index.php') {
             $url = substr($url, 0, -9);
         }
index 148b9a1..543d1c9 100644 (file)
@@ -352,7 +352,7 @@ class Horde_Core_UrlTest extends PHPUnit_Framework_TestCase
         $this->assertEquals('http://example.com/hordeurl/test/foo/bar?foo=bar&x=y', (string)Horde::selfUrl(true, false, true));
         $_SERVER['REQUEST_URI'] = '/hordeurl/foo/bar?foo=bar&x=y';
         $_SERVER['SCRIPT_NAME'] = '/hordeurl/test.php';
-        $this->assertEquals('/hordeurl/test.php', (string)Horde::selfUrl());
+        $this->assertEquals('/hordeurl/', (string)Horde::selfUrl());
         $this->assertEquals('/hordeurl/foo/bar?foo=bar&amp;x=y', (string)Horde::selfUrl(true));
     }
 }