function UnInstallDB($arParams = array()) { global $DB, $DBType, $APPLICATION; if (CModule::IncludeModule("search")) { /** @noinspection PhpDynamicAsStaticMethodCallInspection */ CSearch::deleteIndex("disk"); } $errors = null; if (array_key_exists("savedata", $arParams) && $arParams["savedata"] != "Y") { $this->UnInstallUserFields(); $errors = $DB->RunSQLBatch($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/disk/install/db/" . $DBType . "/uninstall.sql"); if (!empty($errors)) { $APPLICATION->ThrowException(implode("", $errors)); return false; } } /** @noinspection PhpDynamicAsStaticMethodCallInspection */ CAgent::removeModuleAgents("disk"); COption::removeOption('disk'); //UnRegisterModuleDependences UnRegisterModuleDependences("main", "OnAfterRegisterModule", "main", "disk", "installUserFields", "/modules/disk/install/index.php"); // check UF UnRegisterModuleDependences("main", "OnAfterUserAdd", "disk", "\\Bitrix\\Disk\\SocialnetworkHandlers", "onAfterUserAdd"); UnRegisterModuleDependences("main", "OnAfterUserAdd", "disk", "\\Bitrix\\Disk\\SocialnetworkHandlers", "onUserDelete"); UnRegisterModuleDependences("main", "OnAfterUserUpdate", "disk", "\\Bitrix\\Disk\\SocialnetworkHandlers", "onAfterUserUpdate"); UnRegisterModuleDependences('main', 'OnUserTypeBuildList', 'disk', 'Bitrix\\Disk\\Uf\\FileUserType', 'GetUserTypeDescription'); UnRegisterModuleDependences('main', 'OnUserTypeBuildList', 'disk', 'Bitrix\\Disk\\Uf\\VersionUserType', 'GetUserTypeDescription'); UnRegisterModuleDependences("search", "OnReindex", "disk", "\\Bitrix\\Disk\\IndexManager", "onSearchReindex"); UnRegisterModuleDependences("search", "OnSearchGetURL", "disk", "\\Bitrix\\Disk\\IndexManager", "onSearchGetUrl"); UnRegisterModuleDependences('socialnetwork', 'OnSocNetFeaturesAdd', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetFeaturesAdd'); UnRegisterModuleDependences('socialnetwork', 'OnSocNetFeaturesUpdate', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetFeaturesUpdate'); UnRegisterModuleDependences('socialnetwork', 'OnSocNetUserToGroupAdd', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetUserToGroupAdd'); UnRegisterModuleDependences('socialnetwork', 'OnSocNetUserToGroupUpdate', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetUserToGroupUpdate'); UnRegisterModuleDependences('socialnetwork', 'OnSocNetUserToGroupDelete', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetUserToGroupDelete'); UnRegisterModuleDependences('socialnetwork', 'OnSocNetGroupDelete', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetGroupDelete'); UnRegisterModuleDependences('socialnetwork', 'OnSocNetGroupAdd', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onSocNetGroupAdd'); UnRegisterModuleDependences('socialnetwork', 'OnAfterFetchDiskUfEntity', 'disk', "\\Bitrix\\Disk\\SocialnetworkHandlers", 'onAfterFetchDiskUfEntity'); UnRegisterModuleDependences("iblock", "OnBeforeIBlockDelete", "disk", "disk", "OnBeforeIBlockDelete"); UnRegisterModuleDependences("perfmon", "OnGetTableSchema", "disk", "disk", "OnGetTableSchema"); UnRegisterModuleDependences("im", "OnBeforeConfirmNotify", "disk", "\\Bitrix\\Disk\\Sharing", "OnBeforeConfirmNotify"); UnRegisterModule("disk"); return true; }