From 014eed385bf761d9e3f0992835f44f58bf055afd Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 5 Sep 2014 16:33:57 +0200 Subject: [ticket/12620] Add support of the environments for the ext routing files PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php index b965046aad..3d977a5daf 100644 --- a/phpBB/includes/functions_url_matcher.php +++ b/phpBB/includes/functions_url_matcher.php @@ -58,7 +58,7 @@ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $php_ext) { $provider = new \phpbb\controller\provider(); - $provider->find_routing_files($manager->get_finder()); + $provider->find_routing_files($manager->all_enabled()); $routes = $provider->find($root_path)->get_routes(); $dumper = new PhpMatcherDumper($routes); $cached_url_matcher_dump = $dumper->dump(array( @@ -78,7 +78,7 @@ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $roo function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path) { $provider = new \phpbb\controller\provider(); - $provider->find_routing_files($manager->get_finder()); + $provider->find_routing_files($manager->all_enabled()); $routes = $provider->find($root_path)->get_routes(); return new UrlMatcher($routes, $context); } -- cgit v1.2.1 From 998b4baa7197db8ac163cfbab97e1cd2eac761dc Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 29 Sep 2014 15:39:15 +0200 Subject: [ticket/12620] Fix download/file.php and app.php outside of the root_path PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php index 3d977a5daf..3bbc1cc924 100644 --- a/phpBB/includes/functions_url_matcher.php +++ b/phpBB/includes/functions_url_matcher.php @@ -57,9 +57,9 @@ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext */ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $php_ext) { - $provider = new \phpbb\controller\provider(); + $provider = new \phpbb\controller\provider($root_path); $provider->find_routing_files($manager->all_enabled()); - $routes = $provider->find($root_path)->get_routes(); + $routes = $provider->find()->get_routes(); $dumper = new PhpMatcherDumper($routes); $cached_url_matcher_dump = $dumper->dump(array( 'class' => 'phpbb_url_matcher', @@ -77,9 +77,9 @@ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $roo */ function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path) { - $provider = new \phpbb\controller\provider(); + $provider = new \phpbb\controller\provider($root_path); $provider->find_routing_files($manager->all_enabled()); - $routes = $provider->find($root_path)->get_routes(); + $routes = $provider->find()->get_routes(); return new UrlMatcher($routes, $context); } -- cgit v1.2.1 From aa061aa7c9187009f220e62252a53b49dad7644a Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Mon, 29 Sep 2014 16:06:56 +0200 Subject: [ticket/12620] Uses a cache directory per environment PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 33 ++++++++------------------------ 1 file changed, 8 insertions(+), 25 deletions(-) (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php index 3bbc1cc924..c06f4f6cb1 100644 --- a/phpBB/includes/functions_url_matcher.php +++ b/phpBB/includes/functions_url_matcher.php @@ -11,6 +11,7 @@ * */ +use Symfony\Component\Config\ConfigCache; use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper; use Symfony\Component\Routing\Matcher\UrlMatcher; use Symfony\Component\Routing\RequestContext; @@ -34,14 +35,10 @@ if (!defined('IN_PHPBB')) */ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path, $php_ext) { - if (defined('DEBUG')) + $config_cache = new ConfigCache($root_path . 'cache/' . PHPBB_ENVIRONMENT . '/url_matcher.' . $php_ext, defined('DEBUG')); + if (!$config_cache->isFresh()) { - return phpbb_create_url_matcher($manager, $context, $root_path); - } - - if (!phpbb_url_matcher_dumped($root_path, $php_ext)) - { - phpbb_create_dumped_url_matcher($manager, $root_path, $php_ext); + phpbb_create_dumped_url_matcher($manager, $root_path, $config_cache); } return phpbb_load_url_matcher($context, $root_path, $php_ext); @@ -52,10 +49,10 @@ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext * * @param \phpbb\extension\manager $manager Extension manager * @param string $root_path Root path -* @param string $php_ext PHP file extension + * @param ConfigCache $config_cache The config cache * @return null */ -function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $php_ext) +function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $config_cache) { $provider = new \phpbb\controller\provider($root_path); $provider->find_routing_files($manager->all_enabled()); @@ -65,7 +62,7 @@ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $roo 'class' => 'phpbb_url_matcher', )); - file_put_contents($root_path . 'cache/url_matcher.' . $php_ext, $cached_url_matcher_dump); + $config_cache->write($cached_url_matcher_dump, $routes->getResources()); } /** @@ -93,20 +90,6 @@ function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestCont */ function phpbb_load_url_matcher(RequestContext $context, $root_path, $php_ext) { - require($root_path . 'cache/url_matcher.' . $php_ext); + require($root_path . 'cache/' . PHPBB_ENVIRONMENT . '/url_matcher.' . $php_ext); return new phpbb_url_matcher($context); } - -/** -* Determine whether we have our dumped URL matcher -* -* The class is automatically dumped to the cache directory -* -* @param string $root_path Root path -* @param string $php_ext PHP file extension -* @return bool True if it exists, false if not -*/ -function phpbb_url_matcher_dumped($root_path, $php_ext) -{ - return file_exists($root_path . 'cache/url_matcher.' . $php_ext); -} -- cgit v1.2.1 From acc91a2bbf28656d4a6917b457ba3dd6b4e02e37 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Tue, 11 Nov 2014 17:59:41 +0100 Subject: [ticket/12620] Use the container to get the environment name PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php index c06f4f6cb1..4f5ead6253 100644 --- a/phpBB/includes/functions_url_matcher.php +++ b/phpBB/includes/functions_url_matcher.php @@ -35,7 +35,9 @@ if (!defined('IN_PHPBB')) */ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path, $php_ext) { - $config_cache = new ConfigCache($root_path . 'cache/' . PHPBB_ENVIRONMENT . '/url_matcher.' . $php_ext, defined('DEBUG')); + global $phpbb_container; + + $config_cache = new ConfigCache($root_path . 'cache/' . $phpbb_container->getParameter('core.environment') . '/url_matcher.' . $php_ext, defined('DEBUG')); if (!$config_cache->isFresh()) { phpbb_create_dumped_url_matcher($manager, $root_path, $config_cache); @@ -90,6 +92,8 @@ function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestCont */ function phpbb_load_url_matcher(RequestContext $context, $root_path, $php_ext) { - require($root_path . 'cache/' . PHPBB_ENVIRONMENT . '/url_matcher.' . $php_ext); + global $phpbb_container; + + require($root_path . 'cache/' . $phpbb_container->getParameter('core.environment') . '/url_matcher.' . $php_ext); return new phpbb_url_matcher($context); } -- cgit v1.2.1 From 6019e51fedbb90f84a17155f1076af9aec37b65b Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Sun, 16 Nov 2014 17:28:44 +0100 Subject: [ticket/12620] Fix coding style PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php index 4f5ead6253..448f1b19a2 100644 --- a/phpBB/includes/functions_url_matcher.php +++ b/phpBB/includes/functions_url_matcher.php @@ -50,8 +50,7 @@ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext * Create a new UrlMatcher class and dump it into the cache file * * @param \phpbb\extension\manager $manager Extension manager -* @param string $root_path Root path - * @param ConfigCache $config_cache The config cache +* @param string $root_path Root path* @param ConfigCache $config_cache The config cache * @return null */ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $config_cache) -- cgit v1.2.1 From 48950be82bca0c85347f5aa1585de44c369780c6 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 19 Nov 2014 20:54:14 +0100 Subject: [ticket/12620] Fix tests PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php index 448f1b19a2..19aebd1fbc 100644 --- a/phpBB/includes/functions_url_matcher.php +++ b/phpBB/includes/functions_url_matcher.php @@ -55,7 +55,9 @@ function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext */ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $config_cache) { - $provider = new \phpbb\controller\provider($root_path); + global $phpbb_container; + + $provider = new \phpbb\controller\provider($phpbb_container->getParameter('core.environment'), $root_path); $provider->find_routing_files($manager->all_enabled()); $routes = $provider->find()->get_routes(); $dumper = new PhpMatcherDumper($routes); @@ -75,7 +77,9 @@ function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $roo */ function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path) { - $provider = new \phpbb\controller\provider($root_path); + global $phpbb_container; + + $provider = new \phpbb\controller\provider($phpbb_container->getParameter('core.environment'), $root_path); $provider->find_routing_files($manager->all_enabled()); $routes = $provider->find()->get_routes(); return new UrlMatcher($routes, $context); -- cgit v1.2.1 From 5e2896bb00089518547d2863fd119cd8a4bcf518 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Fri, 21 Nov 2014 16:42:01 +0100 Subject: [ticket/12620] Remove the old includes/functions_url_matcher.php file PHPBB3-12620 --- phpBB/includes/functions_url_matcher.php | 102 ------------------------------- 1 file changed, 102 deletions(-) delete mode 100644 phpBB/includes/functions_url_matcher.php (limited to 'phpBB/includes/functions_url_matcher.php') diff --git a/phpBB/includes/functions_url_matcher.php b/phpBB/includes/functions_url_matcher.php deleted file mode 100644 index 19aebd1fbc..0000000000 --- a/phpBB/includes/functions_url_matcher.php +++ /dev/null @@ -1,102 +0,0 @@ - -* @license GNU General Public License, version 2 (GPL-2.0) -* -* For full copyright and license information, please see -* the docs/CREDITS.txt file. -* -*/ - -use Symfony\Component\Config\ConfigCache; -use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper; -use Symfony\Component\Routing\Matcher\UrlMatcher; -use Symfony\Component\Routing\RequestContext; - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -/** -* Create a new UrlMatcher class and dump it into the cache file -* -* @param \phpbb\extension\manager $manager Extension manager -* @param RequestContext $context Symfony RequestContext object -* @param string $root_path Root path -* @param string $php_ext PHP file extension -* @return null -*/ -function phpbb_get_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path, $php_ext) -{ - global $phpbb_container; - - $config_cache = new ConfigCache($root_path . 'cache/' . $phpbb_container->getParameter('core.environment') . '/url_matcher.' . $php_ext, defined('DEBUG')); - if (!$config_cache->isFresh()) - { - phpbb_create_dumped_url_matcher($manager, $root_path, $config_cache); - } - - return phpbb_load_url_matcher($context, $root_path, $php_ext); -} - -/** -* Create a new UrlMatcher class and dump it into the cache file -* -* @param \phpbb\extension\manager $manager Extension manager -* @param string $root_path Root path* @param ConfigCache $config_cache The config cache -* @return null -*/ -function phpbb_create_dumped_url_matcher(\phpbb\extension\manager $manager, $root_path, $config_cache) -{ - global $phpbb_container; - - $provider = new \phpbb\controller\provider($phpbb_container->getParameter('core.environment'), $root_path); - $provider->find_routing_files($manager->all_enabled()); - $routes = $provider->find()->get_routes(); - $dumper = new PhpMatcherDumper($routes); - $cached_url_matcher_dump = $dumper->dump(array( - 'class' => 'phpbb_url_matcher', - )); - - $config_cache->write($cached_url_matcher_dump, $routes->getResources()); -} - -/** -* Create a non-cached UrlMatcher -* -* @param \phpbb\extension\manager $manager Extension manager -* @param RequestContext $context Symfony RequestContext object -* @return UrlMatcher -*/ -function phpbb_create_url_matcher(\phpbb\extension\manager $manager, RequestContext $context, $root_path) -{ - global $phpbb_container; - - $provider = new \phpbb\controller\provider($phpbb_container->getParameter('core.environment'), $root_path); - $provider->find_routing_files($manager->all_enabled()); - $routes = $provider->find()->get_routes(); - return new UrlMatcher($routes, $context); -} - -/** -* Load the cached phpbb_url_matcher class -* -* @param RequestContext $context Symfony RequestContext object -* @param string $root_path Root path -* @param string $php_ext PHP file extension -* @return phpbb_url_matcher -*/ -function phpbb_load_url_matcher(RequestContext $context, $root_path, $php_ext) -{ - global $phpbb_container; - - require($root_path . 'cache/' . $phpbb_container->getParameter('core.environment') . '/url_matcher.' . $php_ext); - return new phpbb_url_matcher($context); -} -- cgit v1.2.1