Current Path : /var/www/html/clients/old.e-nkama.ru/e-nkama_bitrix/bitrix/modules/advertising/install/ |
Current File : /var/www/html/clients/old.e-nkama.ru/e-nkama_bitrix/bitrix/modules/advertising/install/index.php |
<? global $MESS; $PathInstall = str_replace("\\", "/", __FILE__); $PathInstall = substr($PathInstall, 0, strlen($PathInstall)-strlen("/index.php")); IncludeModuleLangFile($PathInstall."/install.php"); if(class_exists("advertising")) return; class advertising extends CModule { var $MODULE_ID = "advertising"; var $MODULE_VERSION; var $MODULE_VERSION_DATE; var $MODULE_NAME; var $MODULE_DESCRIPTION; var $MODULE_CSS; var $MODULE_GROUP_RIGHTS = "Y"; var $SHOW_SUPER_ADMIN_GROUP_RIGHTS = "Y"; function advertising() { $arModuleVersion = array(); $path = str_replace("\\", "/", __FILE__); $path = substr($path, 0, strlen($path) - strlen("/index.php")); include($path."/version.php"); if (is_array($arModuleVersion) && array_key_exists("VERSION", $arModuleVersion)) { $this->MODULE_VERSION = $arModuleVersion["VERSION"]; $this->MODULE_VERSION_DATE = $arModuleVersion["VERSION_DATE"]; } else { $this->MODULE_VERSION = ADVERTISING_VERSION; $this->MODULE_VERSION_DATE = ADVERTISING_VERSION_DATE; } $this->MODULE_NAME = GetMessage("AD_INSTALL_MODULE_NAME"); $this->MODULE_DESCRIPTION = GetMessage("AD_INSTALL_MODULE_DESCRIPTION"); } function DoInstall() { global $APPLICATION; $ADV_RIGHT = $APPLICATION->GetGroupRight("advertising"); if ($ADV_RIGHT=="W") { $this->InstallFiles(); $this->InstallDB(); $this->InstallEvents(); $APPLICATION->IncludeAdminFile( GetMessage("AD_INSTALL"), $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/inst.php" ); } } function InstallFiles() { CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/admin", $_SERVER["DOCUMENT_ROOT"]."/bitrix/admin"); CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/public", $_SERVER["DOCUMENT_ROOT"]."/bitrix"); CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/public/images", $_SERVER["DOCUMENT_ROOT"]."/bitrix/images/advertising/", true, true); CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/themes", $_SERVER["DOCUMENT_ROOT"]."/bitrix/themes", true, true); CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/components", $_SERVER["DOCUMENT_ROOT"]."/bitrix/components/", True, True); CopyDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/js", $_SERVER["DOCUMENT_ROOT"]."/bitrix/js/", True, True); return true; } function InstallDB() { global $APPLICATION, $DB, $errors; if (!$DB->Query("SELECT 'x' FROM b_adv_banner", true)) $EMPTY = "Y"; else $EMPTY = "N"; if ($EMPTY=="Y") { $errors = $DB->RunSQLBatch($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/db/".strtolower($DB->type)."/install.sql"); if (!empty($errors)) { $APPLICATION->ThrowException(implode("", $errors)); return false; } } RegisterModule("advertising"); RegisterModuleDependences("main", "OnBeforeProlog", "advertising"); RegisterModuleDependences("main", "OnEndBufferContent", "advertising", "CAdvBanner", "FixShowAll"); CAgent::AddAgent("CAdvContract::SendInfo();","advertising", "N", 7200); CAgent::AddAgent("CAdvBanner::CleanUpDynamics();","advertising", "N", 86400); if ($EMPTY=="Y") { CModule::IncludeModule('advertising'); $arSites = array(); $rs = CSite::GetList(($b="sort"), ($o="asc")); while($ar = $rs->Fetch()) { $arSites[] = $ar['ID']; } $ac = new CAdvContract(); $arFields = array( 'ACTIVE' => 'Y', 'NAME' => 'Default', 'SORT' => 10000, 'DESCRIPTION' => 'all site without any restrictions', 'EMAIL_COUNT' => 1, 'arrTYPE' => array('ALL'), 'arrWEEKDAY' => array( 'MONDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), 'SATURDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), 'SUNDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), 'THURSDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), 'TUESDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), 'WEDNESDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), 'FRIDAY' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23), ), 'arrSITE' => $arSites, ); $ac->Set($arFields, 0, 'N'); } return true; } function InstallEvents() { global $DB; $sIn = "'ADV_BANNER_STATUS_CHANGE', 'ADV_CONTRACT_INFO'"; $rs = $DB->Query("SELECT count(*) C FROM b_event_type WHERE EVENT_NAME IN (".$sIn.") ", false, "File: ".__FILE__."<br>Line: ".__LINE__); $ar = $rs->Fetch(); if($ar["C"] <= 0) { include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/events/set_events.php"); } return true; } function DoUninstall() { global $APPLICATION, $DB, $errors, $step; $ADV_RIGHT = $APPLICATION->GetGroupRight("advertising"); if ($ADV_RIGHT=="W") { $step = IntVal($step); if ($step < 2) { $APPLICATION->IncludeAdminFile( GetMessage("AD_DELETE_TITLE"), $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/uninst1.php" ); } elseif ($step == 2) { $errors = false; $this->UnInstallDB(array( "savedata" => $_REQUEST["savedata"], )); $this->UnInstallFiles(array( "savedata" => $_REQUEST["savedata"], )); $this->UnInstallEvents(array( "savedata" => $_REQUEST["savedata"], )); $APPLICATION->IncludeAdminFile( GetMessage("AD_DELETE_TITLE"), $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/uninst2.php" ); } } } function UnInstallFiles($arParams = array()) { global $DB; if(!array_key_exists("savedata", $arParams) || $arParams["savedata"] != "Y") { $db_res = $DB->Query("SELECT ID FROM b_file WHERE MODULE_ID = 'advertising'"); while ($arRes = $db_res->Fetch()) CFile::Delete($arRes["ID"]); } DeleteDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/admin", $_SERVER["DOCUMENT_ROOT"]."/bitrix/admin"); DeleteDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/themes/.default/", $_SERVER["DOCUMENT_ROOT"]."/bitrix/themes/.default");//css DeleteDirFilesEx("/bitrix/themes/.default/icons/advertising/");//icons DeleteDirFilesEx("/bitrix/images/advertising/");//images DeleteDirFilesEx("/bitrix/js/advertising/"); DeleteDirFiles($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/public", $_SERVER["DOCUMENT_ROOT"]."/bitrix"); return true; } function UnInstallDB($arParams = array()) { global $APPLICATION, $DB, $errors; if(!array_key_exists("savedata", $arParams) || $arParams["savedata"] != "Y") { $errors = false; // delete whole base $errors = $DB->RunSQLBatch($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/db/".strtolower($DB->type)."/uninstall.sql"); if (!empty($errors)) { $APPLICATION->ThrowException(implode("", $errors)); return false; } } // agents CAgent::RemoveModuleAgents("advertising"); // module events UnRegisterModuleDependences("main", "OnEndBufferContent", "advertising", "CAdvBanner", "FixShowAll"); UnRegisterModuleDependences("main", "OnBeforeProlog", "advertising"); UnRegisterModule("advertising"); return true; } function UnInstallEvents($arParams) { global $DB; if(!array_key_exists("savedata", $arParams) || $arParams["savedata"] != "Y") { include($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/advertising/install/events/del_events.php"); } return true; } function GetModuleRightList() { $arr = array( "reference_id" => array("D","R","T","V","W"), "reference" => array( "[D] ".GetMessage("AD_DENIED"), "[R] ".GetMessage("AD_ADVERTISER"), "[T] ".GetMessage("AD_BANNERS_MANAGER"), "[V] ".GetMessage("AD_DEMO"), "[W] ".GetMessage("AD_ADMIN")) ); return $arr; } } ?>