%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.222.106.43 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/main/lib/ |
Upload File : |
<?php namespace Bitrix\Main; class ModuleManager { protected static $installedModules = array(); public static function getInstalledModules() { if (empty(self::$installedModules)) { $cacheManager = Application::getInstance()->getManagedCache(); if ($cacheManager->read(3600, "b_module")) self::$installedModules = $cacheManager->get("b_module"); if (empty(self::$installedModules)) { self::$installedModules = array(); $con = Application::getConnection(); $rs = $con->query("SELECT ID FROM b_module ORDER BY ID"); while ($ar = $rs->fetch()) self::$installedModules[$ar['ID']] = $ar; $cacheManager->set("b_module", self::$installedModules); } } return self::$installedModules; } public static function getVersion($moduleName) { $moduleName = preg_replace("/[^a-zA-Z0-9_.]+/i", "", trim($moduleName)); if ($moduleName == '') return false; if (!self::isModuleInstalled($moduleName)) return false; if ($moduleName == 'main') { if (!defined("SM_VERSION")) { include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/version.php"); } $version = SM_VERSION; } else { $modulePath = getLocalPath("modules/".$moduleName."/install/version.php"); if ($modulePath === false) return false; $arModuleVersion = array(); include($_SERVER["DOCUMENT_ROOT"].$modulePath); $version = (array_key_exists("VERSION", $arModuleVersion)? $arModuleVersion["VERSION"] : false); } return $version; } public static function isModuleInstalled($moduleName) { $arInstalledModules = self::getInstalledModules(); return isset($arInstalledModules[$moduleName]); } public static function delete($moduleName) { $con = Application::getConnection(); $con->queryExecute("DELETE FROM b_module WHERE ID = '".$con->getSqlHelper()->forSql($moduleName)."'"); self::$installedModules = array(); Loader::clearModuleCache($moduleName); $cacheManager = Application::getInstance()->getManagedCache(); $cacheManager->clean("b_module"); $cacheManager->clean("b_module_to_module"); } public static function add($moduleName) { $con = Application::getConnection(); $con->queryExecute("INSERT INTO b_module(ID) VALUES('".$con->getSqlHelper()->forSql($moduleName)."')"); self::$installedModules = array(); Loader::clearModuleCache($moduleName); $cacheManager = Application::getInstance()->getManagedCache(); $cacheManager->clean("b_module"); $cacheManager->clean("b_module_to_module"); } public static function registerModule($moduleName) { static::add($moduleName); $event = new Event("main", "OnAfterRegisterModule", array($moduleName)); $event->send(); } public static function unRegisterModule($moduleName) { $con = Application::getInstance()->getConnection(); $con->queryExecute("DELETE FROM b_agent WHERE MODULE_ID='".$con->getSqlHelper()->forSql($moduleName)."'"); \CMain::DelGroupRight($moduleName); static::delete($moduleName); $event = new Event("main", "OnAfterUnRegisterModule", array($moduleName)); $event->send(); } }