From 1a5fbd4bd06e7ae7a89637c0977da2fed8cd62fb Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Sun, 27 Mar 2016 18:43:29 +0200 Subject: [ticket/13683] Respects force_server_vars settings when generating URLs PHPBB3-13683 --- phpBB/phpbb/controller/helper.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'phpBB/phpbb/controller/helper.php') diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index 08a63639b9..75b7515540 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -143,6 +143,14 @@ class helper $context = new RequestContext(); $context->fromRequest($this->symfony_request); + if ($this->config['force_server_vars']) { + $context->setHost($this->config['server_name']); + $context->setScheme(substr($this->config['server_protocol'], -4)); + $context->setHttpPort($this->config['server_port']); + $context->setHttpsPort($this->config['server_port']); + $context->setBaseUrl($this->config['script_path'] . '/app.php'); + } + $script_name = $this->symfony_request->getScriptName(); $page_name = substr($script_name, -1, 1) == '/' ? '' : utf8_basename($script_name); -- cgit v1.2.1 From 0b1ed8dbbb3792b97726282fdc630cc242def2ad Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Sun, 27 Mar 2016 19:59:15 +0200 Subject: [ticket/13683] Fix more cases PHPBB3-13683 --- phpBB/phpbb/controller/helper.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'phpBB/phpbb/controller/helper.php') diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index 75b7515540..dbf7a9307a 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -143,12 +143,13 @@ class helper $context = new RequestContext(); $context->fromRequest($this->symfony_request); - if ($this->config['force_server_vars']) { + if ($this->config['force_server_vars']) + { $context->setHost($this->config['server_name']); $context->setScheme(substr($this->config['server_protocol'], -4)); $context->setHttpPort($this->config['server_port']); $context->setHttpsPort($this->config['server_port']); - $context->setBaseUrl($this->config['script_path'] . '/app.php'); + $context->setBaseUrl($this->config['script_path']); } $script_name = $this->symfony_request->getScriptName(); @@ -166,7 +167,7 @@ class helper $base_url = str_replace('/' . $page_name, empty($this->config['enable_mod_rewrite']) ? '/app.' . $this->php_ext : '', $base_url); // We need to update the base url to move to the directory of the app.php file if the current script is not app.php - if ($page_name !== 'app.php') + if ($page_name !== 'app.php' && !$this->config['force_server_vars']) { if (empty($this->config['enable_mod_rewrite'])) { -- cgit v1.2.1 From 0647eea742bef8d6ee932462f3775e45a6a05bd6 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 29 Mar 2016 19:13:09 +0200 Subject: [ticket/13683] Updates tests PHPBB3-13683 --- phpBB/phpbb/controller/helper.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'phpBB/phpbb/controller/helper.php') diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index dbf7a9307a..cc0dfdb607 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -71,7 +71,8 @@ class helper * @param \phpbb\template\template $template Template object * @param \phpbb\user $user User object * @param \phpbb\config\config $config Config object - * @param \phpbb\controller\provider $provider Path provider + * + * @param \phpbb\controller\provider $provider Path provider * @param \phpbb\extension\manager $manager Extension manager object * @param \phpbb\symfony_request $symfony_request Symfony Request object * @param \phpbb\request\request_interface $request phpBB request object @@ -146,7 +147,7 @@ class helper if ($this->config['force_server_vars']) { $context->setHost($this->config['server_name']); - $context->setScheme(substr($this->config['server_protocol'], -4)); + $context->setScheme(substr($this->config['server_protocol'], 0, -3)); $context->setHttpPort($this->config['server_port']); $context->setHttpsPort($this->config['server_port']); $context->setBaseUrl($this->config['script_path']); -- cgit v1.2.1 From bfc09e2b399f880536561c610286ddda60daabf2 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 30 Mar 2016 22:22:38 +0200 Subject: [ticket/13683] Removes extra / in script_path PHPBB3-13683 --- phpBB/phpbb/controller/helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/phpbb/controller/helper.php') diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index cc0dfdb607..ce6bfba981 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -150,7 +150,7 @@ class helper $context->setScheme(substr($this->config['server_protocol'], 0, -3)); $context->setHttpPort($this->config['server_port']); $context->setHttpsPort($this->config['server_port']); - $context->setBaseUrl($this->config['script_path']); + $context->setBaseUrl(rtrim($this->config['script_path'], '/')); } $script_name = $this->symfony_request->getScriptName(); -- cgit v1.2.1