index.php 3.20 KiB
<?php
use Bitrix\Main\Application;
use Bitrix\Main\EventManager;
use Bitrix\Main\IO\Directory;
use Bitrix\Main\Localization\Loc;
use Mail\Mjml\Events;
use Mail\Mjml\Module;
if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) {
die();
}
class mail_mjml extends CModule
{
public $MODULE_ID = Module::ID;
public $MODULE_NAME;
public $MODULE_VERSION;
public $MODULE_VERSION_DATE;
public $MODULE_DESCRIPTION;
public $PARTNER_NAME;
public $PARTNER_URI;
/**
* Конструктор
*
* @return void
*/
public function __construct()
{
$arModuleVersion = [];
include(__DIR__ . '/version.php');
$this->MODULE_VERSION = $arModuleVersion['VERSION'];
$this->MODULE_VERSION_DATE = $arModuleVersion['VERSION_DATE'];
Loc::loadMessages(__FILE__);
$this->MODULE_NAME = Loc::getMessage('MODULE_NAME');
$this->MODULE_DESCRIPTION = Loc::getMessage('MODULE_DESCRIPTION');
$this->PARTNER_NAME = Loc::getMessage('PARTNER_NAME');
$this->PARTNER_URI = Loc::getMessage('PARTNER_URI');
}
/**
* Установка модуля
*
* @return void
*/
function DoInstall()
{
RegisterModule($this->MODULE_ID);
$this->installFiles();
$this->registerEvents();
}
/**
* Копирование файлов
*
* @return void
*/
function InstallFiles()
{
CopyDirFiles(
__DIR__ . '/components',
Application::getDocumentRoot() . '/bitrix/components/',
true,
true
);
CopyDirFiles(__DIR__ . '/admin', Application::getDocumentRoot() . '/bitrix/admin');
}
/**
* Регистрация событий
*
* @return void
*/
function registerEvents()
{
EventManager::getInstance()->registerEventHandler(
'main',
'OnProlog',
$this->MODULE_ID,
Events::class,
'bindEvents'
);
}
/**
* Удаление файлов
*
* @return void
*/
function UnInstallFiles()
{
$aDir = new DirectoryIterator(__DIR__ . '/components/iqdev/');
foreach ($aDir as $oFileInfo) {
if ($oFileInfo->isDir() && !$oFileInfo->isDot()) {
Directory::deleteDirectory(
Application::getDocumentRoot() . '/bitrix/components/iqdev/' . $oFileInfo->getFilename() . '/'
);
}
}
DeleteDirFiles(__DIR__ . '/admin', Application::getDocumentRoot() . '/bitrix/admin');
}
/**
* Удаление модуля
*
* @return void
* @throws \Bitrix\Main\ArgumentNullException
*/
function DoUninstall()
{
UnRegisterModule($this->MODULE_ID);
$this->UnInstallFiles();
}
/**
* Удаление событий
*
* @return void
*/
function unRegisterEvents()
{
EventManager::getInstance()->unRegisterEventHandler(
'main',
'OnProlog',
$this->MODULE_ID,
Events::class,
'bindEvents'
);
}
}