* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\Ps_metrics; use PrestaShop\Module\Ps_metrics\Config\Env; use PrestaShop\Module\Ps_metrics\Handler\NativeStatsHandler; use PrestaShop\Module\Ps_metrics\Helper\ConfigHelper; use PrestaShop\Module\Ps_metrics\Helper\PrestaShopHelper; use PrestaShop\Module\Ps_metrics\Helper\SegmentHelper; use PrestaShop\Module\Ps_metrics\Helper\ShopHelper; use PrestaShop\Module\Ps_metrics\Helper\ToolsHelper; use PrestaShop\Module\Ps_metrics\Module\Install; use PrestaShop\Module\Ps_metrics\Repository\ConfigurationRepository; use PrestaShop\Module\Ps_metrics\Repository\HookModuleRepository; use PrestaShop\Module\Ps_metrics\Tracker\Segment; class LegacyModuleInstaller { /** * @var \Ps_metrics */ private $module; /** * @var ConfigurationRepository */ private $configurationRepository; public function __construct(\Ps_metrics $module) { $this->module = $module; $this->configurationRepository = new ConfigurationRepository(new PrestaShopHelper()); } /** * The service container is not available during the install process. * This method is used to manually instantiate PrestaShop\Module\Ps_metrics\Module\Install required * at module install * * Code to delete once the issue was fixed on PrestaShop side * * @return Install */ public function legacyModuleInstaller() { return new Install($this->module, $this->configurationRepository, new HookModuleRepository()); } /** * The service container is not available during the install process. * This method is used to manually instantiate PrestaShop\Module\Ps_metrics\Helper\SegmentHelper required * at module install * * Code to delete once the issue was fixed on PrestaShop side * * @return Segment */ public function legacyModuleInstallerSegment() { return new Segment(new SegmentHelper(new ConfigHelper(new Env($this->module))), new PrestaShopHelper(), new ShopHelper(new ToolsHelper())); } /** * The service container is not available during the install process. * This method is used to manually instantiate PrestaShop\Module\Ps_metrics\Helper\SegmentHelper required * at module install * * Code to delete once the issue was fixed on PrestaShop side * * @return NativeStatsHandler */ public function legacyNativeStatsHandler() { return new NativeStatsHandler($this->module); } }