Issues (153)

Classes/Base/Config.php (1 issue)

Labels
Severity
1
<?php
2
3
/**
4
 * @license GPLv3, http://www.gnu.org/copyleft/gpl.html
5
 * @copyright Aimeos (aimeos.org), 2016-2017
6
 * @package TYPO3
7
 */
8
9
10
namespace Aimeos\Aimeos\Base;
11
12
13
/**
14
 * Aimeos config class
15
 *
16
 * @package TYPO3
17
 */
18
class Config
19
{
20
    private static $config;
21
22
23
    /**
24
     * Creates a new configuration object.
25
     *
26
     * @param array $paths Paths to the configuration directories
27
     * @param array $local Multi-dimensional associative list with local configuration
28
     * @return \Aimeos\Base\Config\Iface Configuration object
29
     */
30
    public static function get(array $paths, array $local = []) : \Aimeos\Base\Config\Iface
31
    {
32
        if (self::$config === null) {
33
            // Using extension config directories
34
            if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['aimeos']['confDirs'])) {
35
                ksort($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['aimeos']['confDirs']);
36
                foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['aimeos']['confDirs'] as $dir) {
37
                    if (($absPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($dir)) !== '') {
0 ignored issues
show
The type TYPO3\CMS\Core\Utility\GeneralUtility was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
38
                        $paths[] = $absPath;
39
                    }
40
                }
41
            }
42
43
            $conf = new \Aimeos\Base\Config\PHPArray([], $paths);
44
45
            if ((bool) \Aimeos\Aimeos\Base::getExtConfig('useAPC', false) === true) {
46
                $conf = new \Aimeos\Base\Config\Decorator\APC($conf, \Aimeos\Aimeos\Base::getExtConfig('apcPrefix', 't3:'));
47
            }
48
49
            self::$config = $conf;
50
        }
51
52
        if (isset($local['typo3']['tsconfig'])) {
53
            $local = array_replace_recursive($local, \Aimeos\Aimeos\Base::parseTS($local['typo3']['tsconfig']));
54
        }
55
56
        return new \Aimeos\Base\Config\Decorator\Memory(self::$config, $local);
57
    }
58
}
59