Loading core/lib/Drupal/Core/Routing/UrlGenerator.php +9 −4 Changes for core/lib/Drupal/Core/Routing/UrlGenerator.php: 9 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -54,14 +54,19 @@ class UrlGenerator implements UrlGeneratorInterface { /** * Overrides characters that will not be percent-encoded in the path segment. * * The first two elements are the first two parameters of str_replace(), so * if you override this variable you can also use arrays for the encoded * and decoded characters. * * @see \Symfony\Component\Routing\Generator\UrlGenerator */ protected $decodedChars = array( protected $decodedChars = [ // the slash can be used to designate a hierarchical structure and we want allow using it with this meaning // some webservers don't allow the slash in encoded form in the path for security reasons anyway // see http://stackoverflow.com/questions/4069002/http-400-if-2f-part-of-get-url-in-jboss '%2F' => '/', ); '%2F', // Map from these encoded characters. '/', // Map to these decoded characters. ]; /** * Constructs a new generator object. Loading Loading @@ -211,7 +216,7 @@ protected function doGenerate(array $variables, array $defaults, array $tokens, } // The contexts base URL is already encoded (see Symfony\Component\HttpFoundation\Request) $url = strtr(rawurlencode($url), $this->decodedChars); $url = str_replace($this->decodedChars[0], $this->decodedChars[1], rawurlencode($url)); // Drupal paths rarely include dots, so skip this processing if possible. if (strpos($url, '/.') !== FALSE) { Loading Loading
core/lib/Drupal/Core/Routing/UrlGenerator.php +9 −4 Changes for core/lib/Drupal/Core/Routing/UrlGenerator.php: 9 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -54,14 +54,19 @@ class UrlGenerator implements UrlGeneratorInterface { /** * Overrides characters that will not be percent-encoded in the path segment. * * The first two elements are the first two parameters of str_replace(), so * if you override this variable you can also use arrays for the encoded * and decoded characters. * * @see \Symfony\Component\Routing\Generator\UrlGenerator */ protected $decodedChars = array( protected $decodedChars = [ // the slash can be used to designate a hierarchical structure and we want allow using it with this meaning // some webservers don't allow the slash in encoded form in the path for security reasons anyway // see http://stackoverflow.com/questions/4069002/http-400-if-2f-part-of-get-url-in-jboss '%2F' => '/', ); '%2F', // Map from these encoded characters. '/', // Map to these decoded characters. ]; /** * Constructs a new generator object. Loading Loading @@ -211,7 +216,7 @@ protected function doGenerate(array $variables, array $defaults, array $tokens, } // The contexts base URL is already encoded (see Symfony\Component\HttpFoundation\Request) $url = strtr(rawurlencode($url), $this->decodedChars); $url = str_replace($this->decodedChars[0], $this->decodedChars[1], rawurlencode($url)); // Drupal paths rarely include dots, so skip this processing if possible. if (strpos($url, '/.') !== FALSE) { Loading