Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/classes/general/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2024 Bitrix */ use Bitrix\Main\ModuleManager; use Bitrix\Main\Loader; use Bitrix\Main\ModuleTable; class CModule { var $MODULE_NAME; var $MODULE_DESCRIPTION; var $MODULE_VERSION; var $MODULE_VERSION_DATE; var $MODULE_ID; var $MODULE_SORT = 10000; var $SHOW_SUPER_ADMIN_GROUP_RIGHTS; var $MODULE_GROUP_RIGHTS; var $PARTNER_NAME; var $PARTNER_URI; public static function AddAutoloadClasses($module, $arParams = []) { if ($module === '') { $module = null; } Loader::registerAutoLoadClasses($module, $arParams); return true; } public static function _GetCache() { return ModuleManager::getInstalledModules(); } function InstallDB() { return false; } function UnInstallDB() { } function InstallEvents() { } public function InstallEventMessages(string $languageId, array $siteId): void { } function UnInstallEvents() { } function InstallFiles() { } function UnInstallFiles() { } function DoInstall() { } public function GetModuleTasks() { return [ /* "NAME" => array( "LETTER" => "", "BINDING" => "", "OPERATIONS" => array( "NAME", "NAME", ), ), */ ]; } public function InstallTasks() { CTask::AddFromArray($this->MODULE_ID, $this->GetModuleTasks()); } public function UnInstallTasks() { $r = \Bitrix\Main\TaskTable::getList([ 'select' => ['ID'], 'filter' => ['=MODULE_ID' => $this->MODULE_ID], ]); $arIds = []; while ($arR = $r->fetch()) { $arIds[] = $arR['ID']; } if (!empty($arIds)) { \Bitrix\Main\GroupTaskTable::deleteByFilter(['=TASK_ID' => $arIds]); \Bitrix\Main\TaskOperationTable::deleteByFilter(['=TASK_ID' => $arIds]); \Bitrix\Main\TaskTable::deleteByFilter(['=MODULE_ID' => $this->MODULE_ID]); } \Bitrix\Main\OperationTable::deleteByFilter(['=MODULE_ID' => $this->MODULE_ID]); } function IsInstalled() { return ModuleManager::isModuleInstalled($this->MODULE_ID); } function DoUninstall() { } function Remove() { ModuleManager::delete($this->MODULE_ID); } function Add() { ModuleManager::add($this->MODULE_ID); } public static function GetList() { $result = new CDBResult; $result->InitFromArray(CModule::_GetCache()); return $result; } /** * Makes module classes and function available. Returns true on success. * * @param string $module_name * @return bool */ public static function IncludeModule($module_name) { return Loader::includeModule($module_name); } public static function IncludeModuleEx($module_name) { return Loader::includeSharewareModule($module_name); } public static function GetDropDownList() { return ModuleTable::getList([ 'select' => ['REFERENCE_ID' => 'ID', 'REFERENCE' => 'ID'], 'order' => ['ID' => 'ASC'], 'cache' => ['ttl' => 86400], ]); } /** * @param string $moduleId * @return CModule|bool */ public static function CreateModuleObject($moduleId) { if (!ModuleManager::isValidModule($moduleId)) { return false; } $path = getLocalPath("modules/" . $moduleId . "/install/index.php"); if ($path === false) { return false; } include_once($_SERVER["DOCUMENT_ROOT"] . $path); $className = str_replace(".", "_", $moduleId); if (!class_exists($className)) { return false; } return new $className; } }