diff options
author | Marc Alexander <admin@m-a-styles.de> | 2014-09-17 00:57:04 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2014-09-17 00:57:04 +0200 |
commit | 20903c0a9b0bc2df65feca467a2e318e700a9b8a (patch) | |
tree | b5e2ed74f7fcd7c41c6497f7eb46e992e59f43c2 /phpBB | |
parent | 4a06511d853024193435fd9b2e347ff292589420 (diff) | |
parent | a48b740b94f47456110cdb8e647cceefe1f6cbec (diff) | |
download | forums-20903c0a9b0bc2df65feca467a2e318e700a9b8a.tar forums-20903c0a9b0bc2df65feca467a2e318e700a9b8a.tar.gz forums-20903c0a9b0bc2df65feca467a2e318e700a9b8a.tar.bz2 forums-20903c0a9b0bc2df65feca467a2e318e700a9b8a.tar.xz forums-20903c0a9b0bc2df65feca467a2e318e700a9b8a.zip |
Merge pull request #2922 from Nicofuma/ticket/13036
[ticket/13036] Make the reference type configurable when generating a route
Diffstat (limited to 'phpBB')
-rw-r--r-- | phpBB/phpbb/controller/helper.php | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index e5e54fac00..e2932086db 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -15,6 +15,7 @@ namespace phpbb\controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Generator\UrlGenerator; +use Symfony\Component\Routing\Generator\UrlGeneratorInterface; use Symfony\Component\Routing\RequestContext; /** @@ -115,10 +116,11 @@ class helper * @param string $route Name of the route to travel * @param array $params String or array of additional url parameters * @param bool $is_amp Is url using & (true) or & (false) - * @param string|bool $session_id Possibility to use a custom session id instead of the global one + * @param string|bool $session_id Possibility to use a custom session id instead of the global one + * @param bool|string $reference_type The type of reference to be generated (one of the constants) * @return string The URL already passed through append_sid() */ - public function route($route, array $params = array(), $is_amp = true, $session_id = false) + public function route($route, array $params = array(), $is_amp = true, $session_id = false, $reference_type = UrlGeneratorInterface::ABSOLUTE_PATH) { $anchor = ''; if (isset($params['#'])) @@ -146,13 +148,18 @@ class helper $context->setBaseUrl($base_url); $url_generator = new UrlGenerator($this->route_collection, $context); - $route_url = $url_generator->generate($route, $params); + $route_url = $url_generator->generate($route, $params, $reference_type); if ($is_amp) { $route_url = str_replace(array('&', '&'), array('&', '&'), $route_url); } + if ($reference_type === UrlGeneratorInterface::RELATIVE_PATH && empty($this->config['enable_mod_rewrite'])) + { + $route_url = 'app.' . $this->php_ext . '/' . $route_url; + } + return append_sid($route_url . $anchor, false, $is_amp, $session_id, true); } |