![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Module/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); /** * Module statuses manager */ namespace Magento\Framework\Module; /** * Module status manager * * Usage: * ```php * $manager->isEnabled('Vendor_Module'); * ``` * @api */ class Manager { /** * @var Output\ConfigInterface * @deprecated 101.0.0 */ private $outputConfig; /** * @var ModuleListInterface */ private $moduleList; /** * @var array * @deprecated 101.0.0 */ private $outputConfigPaths; /** * @param Output\ConfigInterface $outputConfig * @param ModuleListInterface $moduleList * @param array $outputConfigPaths */ public function __construct( Output\ConfigInterface $outputConfig, ModuleListInterface $moduleList, array $outputConfigPaths = [] ) { $this->outputConfig = $outputConfig; $this->moduleList = $moduleList; $this->outputConfigPaths = $outputConfigPaths; } /** * Whether a module is enabled in the configuration or not * * @param string $moduleName Fully-qualified module name * @return boolean */ public function isEnabled($moduleName) { return $this->moduleList->has($moduleName); } /** * Whether a module output is permitted by the configuration or not * * @param string $moduleName Fully-qualified module name * @return boolean * @deprecated 101.0.0 Magento does not support disabling/enabling modules output from the Admin Panel since 2.2.0 * version. Module output can still be enabled/disabled in configuration files. However, this functionality should * not be used in future development. Module design should explicitly state dependencies to avoid requiring output * disabling. This functionality will temporarily be kept in Magento core, as there are unresolved modularity * issues that will be addressed in future releases. */ public function isOutputEnabled($moduleName) { return $this->isEnabled($moduleName) && $this->_isCustomOutputConfigEnabled($moduleName) && !$this->outputConfig->isEnabled($moduleName); } /** * Whether a configuration switch for a module output permits output or not * * @param string $moduleName Fully-qualified module name * @return boolean * @deprecated 101.0.0 */ protected function _isCustomOutputConfigEnabled($moduleName) { if (isset($this->outputConfigPaths[$moduleName])) { $configPath = $this->outputConfigPaths[$moduleName]; if (defined($configPath)) { $configPath = constant($configPath); } return $this->outputConfig->isSetFlag($configPath); } return true; } }