aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-04-14 12:40:47 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-04-14 12:40:47 +0200
commitb487da7c053a129c8e06056e4659ba7928f63c40 (patch)
treee5a851e00fb9a1c971a42a0d9ee6ed4674a2c131
parentaebf2cc5cd5b76b3cc42b819dc446afb7cdbbad3 (diff)
parent5dc3651290b0d6cad28534e6f88cc166f2e0a5b8 (diff)
downloadforums-b487da7c053a129c8e06056e4659ba7928f63c40.tar
forums-b487da7c053a129c8e06056e4659ba7928f63c40.tar.gz
forums-b487da7c053a129c8e06056e4659ba7928f63c40.tar.bz2
forums-b487da7c053a129c8e06056e4659ba7928f63c40.tar.xz
forums-b487da7c053a129c8e06056e4659ba7928f63c40.zip
Merge remote-tracking branch 'marc/ticket/12004' into develop-ascraeus
* marc/ticket/12004: [ticket/12004] Support empty routes to app.php/ in path_helper
-rw-r--r--phpBB/phpbb/path_helper.php10
-rw-r--r--tests/path_helper/web_root_path_test.php7
2 files changed, 17 insertions, 0 deletions
diff --git a/phpBB/phpbb/path_helper.php b/phpBB/phpbb/path_helper.php
index a8e12c4063..fefef39c51 100644
--- a/phpBB/phpbb/path_helper.php
+++ b/phpBB/phpbb/path_helper.php
@@ -149,6 +149,16 @@ class path_helper
$script_name = $this->symfony_request->getScriptName();
/*
+ * If the path info is empty but we're using app.php, then we
+ * might be using an empty route like app.php/ which is
+ * supported by symfony's routing
+ */
+ if ($path_info === '/' && preg_match('/app\.' . $this->php_ext . '\/$/', $request_uri))
+ {
+ return $this->web_root_path = $this->phpbb_root_path . '../';
+ }
+
+ /*
* If the path info is empty (single /), then we're not using
* a route like app.php/foo/bar
*/
diff --git a/tests/path_helper/web_root_path_test.php b/tests/path_helper/web_root_path_test.php
index 2c22511402..ec04135997 100644
--- a/tests/path_helper/web_root_path_test.php
+++ b/tests/path_helper/web_root_path_test.php
@@ -116,6 +116,13 @@ class phpbb_path_helper_web_root_path_test extends phpbb_test_case
'/phpbb3-fork/phpBB/foo/template',
'/phpbb3-fork/phpBB/app.php',
),
+ array(
+ $this->phpbb_root_path . 'test.php',
+ $this->phpbb_root_path . '../test.php',
+ '/',
+ '/phpbb3-fork/phpBB/app.php/',
+ '/phpbb3-fork/phpBB/app.php',
+ ),
);
}