* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ namespace PrestaShop\Module\PsxDesign\Provider\ThemeConfiguration; if (!defined('_PS_VERSION_')) { exit; } use PrestaShop\Module\PsxDesign\Factory\ThemeConfiguration\GlobalThemeConfigurationFactory; use Shop; class GlobalConfigurationProvider { /** * @var string */ private $themeName; /** * @var GlobalThemeConfigurationFactory */ public $globalConfigurations; public function __construct(int $shopId) { $this->themeName = (new Shop($shopId))->theme_name; $this->globalConfigurations = new GlobalThemeConfigurationFactory($this->themeName); } /** * @param string $themeName * * @return void */ public function setThemeConfigurationsByThemeName(string $themeName): void { $this->globalConfigurations->setThemeConfigurationsByThemeName($themeName); } /** * @return string|null */ public function getCustomizeUrl(): ?string { return $this->globalConfigurations->getCustomizeUrl(); } /** * @return string[]|null */ public function getScssFiles(): ?array { return $this->globalConfigurations->getScssFiles(); } /** * @return string|null */ public function getScssBaseFolder(): ?string { return $this->globalConfigurations->getScssBaseFolder(); } /** * @return bool */ public function scssFeatureAvailability(): bool { $scssBaseFolder = $this->getScssBaseFolder(); $scssFiles = $this->getScssFiles(); return !empty($scssBaseFolder) && !empty($scssFiles); } }