Your IP : 18.118.149.14


Current Path : /proc/20913/cwd/ext_www/dev.ballu.in.ua/local/modules/rusklimat.yandexproducts/install/
Upload File :
Current File : //proc/20913/cwd/ext_www/dev.ballu.in.ua/local/modules/rusklimat.yandexproducts/install/index.php

<?php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

use Bitrix\Main\EventManager;
use \Bitrix\Main\Localization\Loc;
use \Bitrix\Main\ModuleManager;

Loc::loadMessages(__FILE__);

if (class_exists("rusklimat_yandexproducts"))
	return;

class rusklimat_yandexproducts extends CModule
{
	var $MODULE_ID = "rusklimat.yandexproducts";
	var $MODULE_VERSION = '0.0.1';
	var $MODULE_VERSION_DATE;
	var $MODULE_NAME = 'YaMarket products';
	var $MODULE_DESCRIPTION = 'Allow to upload products from site to YaMarket';
	var $MODULE_CSS;
	var $PARTNER_NAME = 'Dmitry Kadrichev';
	var $PARTNER_URI = 'mailto:kadrichev_d@rusklimat.ru';
	var $MODULE_GROUP_RIGHTS = "Y";
	
	var $errors;
	
	function rusklimat_yandexproducts()
	{
		$arModuleVersion = array();
		
		$this->MODULE_VERSION = '0.0.1';
		$this->MODULE_VERSION_DATE = '2019-02-21 10:00:00';
		
		$lp = "rusklimat_" . "yandexproducts_";
		
		$this->MODULE_NAME = Loc::getMessage($lp . "INSTALL_" . "MODULE_NAME");
		$this->MODULE_DESCRIPTION = Loc::getMessage($lp . "INSTALL_" . "MODULE_DESCRIPTION");
		$this->PARTNER_NAME = "rusklimat";
		$this->PARTNER_URI = 'mailto:kadrichev_d@rusklimat.ru';
	}
	
	
	public function InstallDB()
	{
		$sql = file_get_contents(__DIR__ . "/db/install.sql");
		
		$app = \Bitrix\Main\Application::getInstance();
		$connection = $app->getConnection();
		$connection->query($sql);
		
		return true;
	}
	
	public function UnInstallDB()
	{
		return true;
	}
	
	protected $eventHandlerClass = "\RK\YandexProducts\CMSAdapter\Events\EventHandler";
	protected $arEvents = [
		"onEpilog" => "main"
	];
	
	public function InstallEvents()
	{
		foreach ($this->arEvents as $eventName => $moduleId)
		{
			EventManager::getInstance()->registerEventHandler(
				$moduleId,
				$eventName,
				$this->MODULE_ID,
				$this->eventHandlerClass,
				$eventName
			);
		}
		
		return true;
	}
	
	public function UnInstallEvents()
	{
		foreach ($this->arEvents as $eventName => $moduleId)
		{
			EventManager::getInstance()->unRegisterEventHandler(
				$moduleId,
				$eventName,
				$this->MODULE_ID,
				$this->eventHandlerClass,
				$eventName
			);
		}
		
		return true;
	}
	
	public function InstallFiles()
	{
		return true;
	}
	
	public function UnInstallFiles()
	{
		return true;
	}
	
	public function DoInstall()
	{
		if (!check_bitrix_sessid())
			return false;
		
		ModuleManager::registerModule($this->MODULE_ID);
		
		self::InstallFiles();
		$this->InstallDB();
		self::InstallEvents();
		
		return true;
	}
	
	public function DoUninstall()
	{
		if (!check_bitrix_sessid())
			return false;
		
		if (self::UnInstallDB())
		{
			self::UnInstallEvents();
			self::UnInstallFiles();
			ModuleManager::unRegisterModule($this->MODULE_ID);
		}
		
		return true;
	}
}