Fixed WCF::getAnchor()
authorAlexander Ebert <ebert@woltlab.com>
Mon, 31 Dec 2012 16:39:29 +0000 (17:39 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 31 Dec 2012 16:39:29 +0000 (17:39 +0100)
Fixes #1060

wcfsetup/install/files/lib/system/WCF.class.php

index 81e684e816545699e2777f6a50baa4d37af9e8f0..70b0ed763a450bc587e80f74cbf55f02bee8a09e 100644 (file)
@@ -676,9 +676,14 @@ class WCF {
                if (!StringUtil::isASCII($path) && !StringUtil::isUTF8($path)) {
                        $path = StringUtil::convertEncoding('ISO-8859-1', 'UTF-8', $path);
                }
+               $path = FileUtil::removeLeadingSlash($path);
                $baseHref = self::getTPL()->get('baseHref');
                
-               return $baseHref . FileUtil::removeLeadingSlash($path) . '#' . $fragment;
+               if (!empty($path) && StringUtil::indexOf($path, '?') !== 0) {
+                       $baseHref .= 'index.php/';
+               }
+               
+               return $baseHref . $path . '#' . $fragment;
        }
        
        /**