module = $module; $this->MODULE_ID = $module['id']; $this->MODULE_VERSION = $module['version']; $this->MODULE_VERSION_DATE = $module['date']; $langPrefix = $module['prefix']; $this->PARTNER_NAME = GetMessage("{$langPrefix}_partner_name"); $this->PARTNER_URI = GetMessage("{$langPrefix}_partner_uri"); $this->MODULE_NAME = GetMessage("{$langPrefix}_module_name"); $this->MODULE_DESCRIPTION = GetMessage("{$langPrefix}_module_description"); } public function DoInstall() { global $APPLICATION; if (is_array($this->module['deps'])) { foreach ($this->module['deps'] as $moduleId) { if (!\Bitrix\Main\Loader::includeModule($moduleId)) { $APPLICATION->ThrowException("Module {$moduleId} not installed!"); return false; } } } if (!CheckVersion(PHP_VERSION, '5.4.0')) { $APPLICATION->ThrowException('Php version required more 5.4.0'); return false; } RegisterModule($this->MODULE_ID); RegisterModuleDependences('main', 'OnPageStart', $this->MODULE_ID); $this->InstallEvents(); $this->InstallCatalogExport(); return true; } public function DoUninstall() { global $APPLICATION; UnRegisterModule($this->MODULE_ID); UnRegisterModuleDependences('main', 'OnPageStart', $this->MODULE_ID, '', ''); $this->UnInstallEvents(); $this->UnInstallCatalogExport(); return true; } public function InstallCatalogExport() { if (is_dir(__DIR__ . '/catalog_export') && \Bitrix\Main\Loader::includeModule('catalog')) { CopyDirFiles(__DIR__ . '/catalog_export', $_SERVER['DOCUMENT_ROOT'] . CATALOG_PATH2EXPORTS, true, true); } return true; } public function UnInstallCatalogExport() { return true; } public function InstallEvents() { if (class_exists('\Bitrix\Main\EventManager')) { $eventManager = EventManager::getInstance(); // $eventManager->registerEventHandler( // 'main', // 'OnPageStart', // $this->MODULE_ID, // 'Bx\Nullable\Handler\Handler', // 'exec', // 100 // ); } return true; } public function UnInstallEvents() { if (class_exists('\Bitrix\Main\EventManager')) { $eventManager = \Bitrix\Main\EventManager::getInstance(); // $eventManager->unRegisterEventHandler( // 'main', // 'OnPageStart', // $this->MODULE_ID, // 'Bx\Nullable\Handler\Handler', // 'exec' // ); } return true; } }