aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2014-05-11 14:10:19 +0200
committerTristan Darricau <github@nicofuma.fr>2014-05-11 14:10:19 +0200
commit197c801746b148e6bcf7b5824e9077c185bf4e5f (patch)
tree671351344b6fdb01e2a6081a6fef1a1e9ff9c673
parentd4fc060bcd61228fdf78da4f2d290a7a17546c46 (diff)
downloadforums-197c801746b148e6bcf7b5824e9077c185bf4e5f.tar
forums-197c801746b148e6bcf7b5824e9077c185bf4e5f.tar.gz
forums-197c801746b148e6bcf7b5824e9077c185bf4e5f.tar.bz2
forums-197c801746b148e6bcf7b5824e9077c185bf4e5f.tar.xz
forums-197c801746b148e6bcf7b5824e9077c185bf4e5f.zip
[ticket/12529] Use root_path in controller\resolver to check the template dir
PHPBB3-12529
-rw-r--r--phpBB/config/services.yml1
-rw-r--r--phpBB/phpbb/controller/resolver.php11
-rw-r--r--tests/controller/controller_test.php2
3 files changed, 11 insertions, 3 deletions
diff --git a/phpBB/config/services.yml b/phpBB/config/services.yml
index fdd8a33135..45ad108ef9 100644
--- a/phpBB/config/services.yml
+++ b/phpBB/config/services.yml
@@ -103,6 +103,7 @@ services:
class: phpbb\controller\resolver
arguments:
- @user
+ - %core.root_path%
- @service_container
- @template
diff --git a/phpBB/phpbb/controller/resolver.php b/phpBB/phpbb/controller/resolver.php
index 233179e343..f4cebc5730 100644
--- a/phpBB/phpbb/controller/resolver.php
+++ b/phpBB/phpbb/controller/resolver.php
@@ -38,17 +38,24 @@ class resolver implements ControllerResolverInterface
protected $template;
/**
+ * phpBB root path
+ * @var string
+ */
+ protected $phpbb_root_path;
+
+ /**
* Construct method
*
* @param \phpbb\user $user User Object
* @param ContainerInterface $container ContainerInterface object
* @param \phpbb\template\template $template
*/
- public function __construct(\phpbb\user $user, ContainerInterface $container, \phpbb\template\template $template = null)
+ public function __construct(\phpbb\user $user, $phpbb_root_path, ContainerInterface $container, \phpbb\template\template $template = null)
{
$this->user = $user;
$this->container = $container;
$this->template = $template;
+ $this->phpbb_root_path = $phpbb_root_path;
}
/**
@@ -94,7 +101,7 @@ class resolver implements ControllerResolverInterface
{
$controller_style_dir = 'ext/' . $controller_dir[0] . '/' . $controller_dir[1] . '/styles';
- if (is_dir($controller_style_dir))
+ if (is_dir($this->phpbb_root_path . $controller_style_dir))
{
$this->template->set_style(array($controller_style_dir, 'styles'));
}
diff --git a/tests/controller/controller_test.php b/tests/controller/controller_test.php
index 7b8b78dd22..630757dfd7 100644
--- a/tests/controller/controller_test.php
+++ b/tests/controller/controller_test.php
@@ -68,7 +68,7 @@ class phpbb_controller_controller_test extends phpbb_test_case
include(__DIR__.'/phpbb/controller/foo.php');
}
- $resolver = new \phpbb\controller\resolver(new \phpbb\user, $container);
+ $resolver = new \phpbb\controller\resolver(new \phpbb\user, dirname(__FILE__) . '/', $container);
$symfony_request = new Request();
$symfony_request->attributes->set('_controller', 'foo.controller:handle');