Current Path : /var/www/html/clients/biblio.e-nkama.ru/bitrix/modules/artismedia.faq/install/ |
Current File : /var/www/html/clients/biblio.e-nkama.ru/bitrix/modules/artismedia.faq/install/index.php |
<? IncludeModuleLangFile(__FILE__); Class artismedia_faq extends CModule { var $MODULE_ID = "artismedia.faq"; var $MODULE_VERSION; var $MODULE_VERSION_DATE; var $MODULE_NAME; var $MODULE_DESCRIPTION; var $MODULE_CSS; var $MODULE_GROUP_RIGHTS = "N"; function __construct() { $arModuleVersion = array(); include("version.php"); $this->MODULE_VERSION = $arModuleVersion["VERSION"]; $this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"]; $this->MODULE_NAME = GetMessage("ARTISMEDIA_FAQ_INSTALL_NAME"); $this->MODULE_DESCRIPTION = GetMessage("ARTISMEDIA_FAQ_INSTALL_DESCRIPTION"); $this->PARTNER_NAME = "ArtisMedia"; $this->PARTNER_URI = "http://www.artismedia.by/"; } function InstallDB($install_wizard = true) { global $DB, $DBType, $APPLICATION; RegisterModule($this->MODULE_ID); return true; } function UnInstallDB($arParams = Array()) { global $DB, $DBType, $APPLICATION; UnRegisterModule($this->MODULE_ID); return true; } function InstallEvents() { include_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/" . $this->MODULE_ID . "/install/events.php"); return true; } function UnInstallEvents() { return true; } function InstallFiles() { $res = CopyDirFiles(dirname(__FILE__)."/components", $_SERVER["DOCUMENT_ROOT"]."/bitrix/components", false, true); return $res; } function InstallPublic() { /*Ïàðàìåòðû äëÿ ñîçäàíèÿ òèïà èíôîáëîêà*/ $arFields = Array( 'ID'=>'artismedia_faq', 'SECTIONS'=>'Y', 'SORT'=>100, 'LANG'=>Array( 'en'=>Array( 'NAME'=>'FAQ', ), 'ru'=>Array( 'NAME'=>'FAQ', ), ) ); $ex_catalog_flag = 0; /*Ïðîâåðêà íà ñóùåñòâîâàíèå òèïà èíôîáëîêà*/ if ($this->IncludeModule('iblock')) { $obBlocktype = new CIBlockType; $iblock = new CIBlock; $ibp = new CIBlockProperty; $el = new CIBlockElement; $db_iblock_type = CIBlockType::GetList(); while($ar_iblock_type = $db_iblock_type->Fetch()) { if($arIBType = CIBlockType::GetByIDLang($ar_iblock_type["ID"], LANG)) { if ($arIBType["IBLOCK_TYPE_ID"] == "artismedia_faq") { $ex_catalog_flag = 1; $IBLOCK_TYPE_ID = $arIBType["IBLOCK_TYPE_ID"]; } } } /*Íå ñóùåñòâóåò ñîçäàåì íîâûé òèï èíôîáëîêà ñ ïàðàìåòðàìè âûøå*/ if (!$ex_catalog_flag) { $res = $obBlocktype->Add($arFields); $IBLOCK_TYPE_ID = $res; } $rsSites = CSite::GetList($by="sort", $order="desc", Array( ))->Fetch(); /*ïàðàìåòðû äëÿ èíôîáëîêà*/ $arFields = array( "SITE_ID" => $rsSites["LID"], "ACTIVE" => "Y", "IBLOCK_TYPE_ID" => $IBLOCK_TYPE_ID, "NAME" => "FAQ", "CODE" => "FAQ", "SORT" => "100", "LIST_PAGE_URL" => "#SITE_DIR#/faq/index.php", "DETAIL_PAGE_URL" => "#SITE_DIR#/faq/detail.php", "GROUP_ID" => Array("2"=>"R"), ); $res = CIBlock::GetList(array(), array("CODE" => "FAQ"))->GetNext(); if(!$res) $iblock->Add($arFields); } else {die("IBLOCK NOT INCLUDED!");} } function UnInstallFiles() { DeleteDirFilesEx("/bitrix/components/artismedia/faq"); return true; } function DoInstall() { global $APPLICATION, $step, $arSites; $step = intval($step); $ob_sites = CSite::GetList($by = "id", $order = "asc", array("ACTIVE" => "Y")); while ($rs_site = $ob_sites->Fetch()) $arSites[] = $rs_site; if (empty($arSites)) { CAdminMessage::ShowMessage(GetMessage('SITES_NOT_FOUND')); return false; } if (!$this->InstallFiles()) { CAdminMessage::ShowMessage('Failed to copy files. Catalog /bitrix/ must be writable'); } $this->InstallEvents(); $this->InstallPublic(); $this->InstallDB(false); $APPLICATION->IncludeAdminFile(GetMessage("ARTISMEDIA_FAQ_INSTALL_TITLE"), dirname(__FILE__)."/step.php"); } function DoUninstall() { global $APPLICATION, $step; $this->UnInstallDB(); $this->UnInstallFiles(); $this->UnInstallEvents(); $APPLICATION->IncludeAdminFile(GetMessage("ARTISMEDIA_FAQ_UNINSTALL_TITLE"), dirname(__FILE__)."/unstep.php"); } } ?>