Encoding square brackets in URLs
authorAlexander Ebert <ebert@woltlab.com>
Mon, 15 Apr 2013 18:11:15 +0000 (20:11 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 15 Apr 2013 18:11:15 +0000 (20:11 +0200)
wcfsetup/install/files/lib/system/request/LinkHandler.class.php

index 4b62fbd709ae21e4920a90c4acd88969f28debec..a4da76657184f16ee633785409bc5bc9c36e94c4 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 namespace wcf\system\request;
+use wcf\util\StringUtil;
+
 use wcf\data\DatabaseObjectDecorator;
 use wcf\system\application\ApplicationHandler;
 use wcf\system\menu\page\PageMenu;
@@ -113,6 +115,12 @@ class LinkHandler extends SingletonFactory {
                if (!$isRaw && !empty($url)) {
                        $routeURL .= (strpos($routeURL, '?') === false) ? '?' : '&';
                }
+               
+               // encode certain characters
+               if (!empty($url)) {
+                       $url = StringUtil::replace(array('[', ']'), array('%5B', '%5D'), $url);
+               }
+               
                $url = $routeURL . $url;
                
                // append session id