Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
75.00% |
3 / 4 |
CRAP | |
94.12% |
16 / 17 |
| config | |
0.00% |
0 / 1 |
|
75.00% |
3 / 4 |
8.01 | |
94.12% |
16 / 17 |
| __construct | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
| load | |
100.00% |
1 / 1 |
4 | |
100.00% |
10 / 10 |
|||
| getAlias | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
| convert_30_acm_type | |
0.00% |
0 / 1 |
2.06 | |
75.00% |
3 / 4 |
|||
| <?php | |
| /** | |
| * | |
| * This file is part of the phpBB Forum Software package. | |
| * | |
| * @copyright (c) phpBB Limited <https://www.phpbb.com> | |
| * @license GNU General Public License, version 2 (GPL-2.0) | |
| * | |
| * For full copyright and license information, please see | |
| * the docs/CREDITS.txt file. | |
| * | |
| */ | |
| namespace phpbb\di\extension; | |
| use Symfony\Component\DependencyInjection\ContainerBuilder; | |
| use Symfony\Component\HttpKernel\DependencyInjection\Extension; | |
| /** | |
| * Container config extension | |
| */ | |
| class config extends Extension | |
| { | |
| /** @var array */ | |
| protected $config_php; | |
| public function __construct(\phpbb\config_php_file $config_php) | |
| { | |
| $this->config_php = $config_php; | |
| } | |
| /** | |
| * Loads a specific configuration. | |
| * | |
| * @param array $config An array of configuration values | |
| * @param ContainerBuilder $container A ContainerBuilder instance | |
| * | |
| * @throws \InvalidArgumentException When provided tag is not defined in this extension | |
| */ | |
| public function load(array $config, ContainerBuilder $container) | |
| { | |
| $parameters = array( | |
| 'core.adm_relative_path' => $this->config_php->get('phpbb_adm_relative_path') ? $this->config_php->get('phpbb_adm_relative_path') : 'adm/', | |
| 'core.table_prefix' => $this->config_php->get('table_prefix'), | |
| 'cache.driver.class' => $this->convert_30_acm_type($this->config_php->get('acm_type')), | |
| 'dbal.new_link' => defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK, | |
| ); | |
| $parameter_bag = $container->getParameterBag(); | |
| foreach ($parameters as $parameter => $value) | |
| { | |
| $container->setParameter($parameter, $parameter_bag->escapeValue($value)); | |
| } | |
| } | |
| /** | |
| * Returns the recommended alias to use in XML. | |
| * | |
| * This alias is also the mandatory prefix to use when using YAML. | |
| * | |
| * @return string The alias | |
| */ | |
| public function getAlias() | |
| { | |
| return 'config'; | |
| } | |
| /** | |
| * Convert 3.0 ACM type to 3.1 cache driver class name | |
| * | |
| * @param string $acm_type ACM type | |
| * @return string cache driver class | |
| */ | |
| protected function convert_30_acm_type($acm_type) | |
| { | |
| if (preg_match('#^[a-z]+$#', $acm_type)) | |
| { | |
| return 'phpbb\\cache\\driver\\' . $acm_type; | |
| } | |
| return $acm_type; | |
| } | |
| } |