/home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/Module
NameSizeModeActions
Configuration/-0755rm
DataProvider/-0755rm
Exception/-0755rm
Legacy/-0755rm
SourceHandler/-0755rm
ConfigReader.php28670644editdlrm
ConfigReaderInterface.php14780644editdlrm
EventSubscriber.php27790644editdlrm
HookConfigurator.php37330644editdlrm
HookRepository.php84730644editdlrm
ModuleCollection.php35410644editdlrm
ModuleInterface.php24900644editdlrm
ModuleManager.php136000644editdlrm
ModuleManagerInterface.php20730644editdlrm
ModuleOverrideChecker.php65590644editdlrm
ModuleRepository.php115350644editdlrm
ModuleRepositoryInterface.php16310644editdlrm
WidgetInterface.php12950644editdlrm
Edit: /home/sharedstore/public_html/prestashop.sharedstore.ma/src/Core/Module/ConfigReader.php (2867B)
* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Core\Module; use PrestaShop\PrestaShop\Core\Util\ArrayFinder; class ConfigReader implements ConfigReaderInterface { /** * @var string */ protected $modulesDirectoryPath; public function __construct(string $modulesDirectoryPath) { $this->modulesDirectoryPath = $modulesDirectoryPath; } /** * {@inheritdoc} */ public function read(string $name, string $isoCode): ?ArrayFinder { $configFile = $this->findConfigFile($name, $isoCode); if ($configFile === null) { return null; } libxml_use_internal_errors(true); $xml = @simplexml_load_file($configFile); $errors = libxml_get_errors(); if ($xml === false || !empty($errors)) { return null; } $result = []; foreach ($xml as $node) { $result[$node->getName()] = (string) $node; } return new ArrayFinder($result); } /** * Find config file depending on the iso code. * * @param string $name The module name * @param string $isoCode The current iso code format fr_FR * * @return string|null */ protected function findConfigFile(string $name, string $isoCode): ?string { $iso = substr($isoCode, 0, 2); $configFile = $this->modulesDirectoryPath . $name . '/config_' . $iso . '.xml'; // For "en" iso code, we keep the default config.xml name if ($iso === 'en' || !file_exists($configFile)) { $configFile = $this->modulesDirectoryPath . $name . '/config.xml'; if (!file_exists($configFile)) { return null; } } return $configFile; } }