Example #1
0
 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;
 }
 private function processFinallyActions()
 {
     Option::set('disk', 'disk_revision_api', \Bitrix\Disk\Configuration::REVISION_API);
     Option::set('disk', 'successfully_converted', 'Y');
     Option::set('disk', 'process_converted', false);
     Option::set('webdav', 'successfully_converted', 'Y');
     Option::set('webdav', 'process_converted', false);
     CAdminNotify::deleteByTag('disk_migrate_from_webdav');
     UnRegisterModuleDependences("main", "OnBeforeProlog", "main", "", "", 99, "/modules/webdav/prolog_before.php");
     // before statistics
     UnRegisterModuleDependences("search", "BeforeIndex", "webdav", "CRatingsComponentsWebDav", "BeforeIndex");
     UnRegisterModuleDependences("main", "OnEventLogGetAuditTypes", "webdav", "CEventWebDav", "GetAuditTypes");
     UnRegisterModuleDependences("main", "OnEventLogGetAuditHandlers", "webdav", "CEventWebDav", "MakeWebDavObject");
     UnRegisterModuleDependences("bizproc", "OnAddToHistory", "webdav", "CIBlockDocumentWebdav", "OnAddToHistory");
     UnRegisterModuleDependences("socialnetwork", "OnFillSocNetAllowedSubscribeEntityTypes", "webdav", "CWebDavSocNetEvent", "OnFillSocNetAllowedSubscribeEntityTypes");
     UnRegisterModuleDependences("socialnetwork", "OnFillSocNetLogEvents", "webdav", "CWebDavSocNetEvent", "OnFillSocNetLogEvents");
     UnRegisterModuleDependences("iblock", "OnAfterIBlockElementDelete", "webdav", "CIBlockDocumentWebdav", "OnAfterIBlockElementDelete");
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetFeaturesAdd', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetFeaturesAdd');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetFeaturesUpdate', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetFeaturesUpdate');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetFeatures', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetFeatures');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetUserToGroupAdd', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetUserToGroupAdd');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetUserToGroupUpdate', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetUserToGroupUpdate');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetUserToGroupDelete', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetUserToGroupDelete');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetGroupDelete', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetGroupDelete');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetGroupAdd', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetGroupAdd');
     UnRegisterModuleDependences('socialnetwork', 'OnSocNetGroupUpdate', 'webdav', 'CIBlockWebdavSocnet', 'OnSocNetGroupUpdate');
     UnRegisterModuleDependences('socialnetwork', 'OnAfterSocNetLogCommentAdd', 'webdav', 'CIBlockWebdavSocnet', 'CopyCommentRights');
     UnRegisterModuleDependences('main', 'OnUserTypeBuildList', 'webdav', 'CUserTypeWebdavElement', 'GetUserTypeDescription');
     UnRegisterModuleDependences('main', 'OnUserTypeBuildList', 'webdav', 'CUserTypeWebdavElementHistory', 'GetUserTypeDescription');
     UnRegisterModuleDependences('blog', 'OnPostAdd', 'webdav', 'CUserTypeWebdavElement', 'OnPostAdd');
     UnRegisterModuleDependences('blog', 'OnPostUpdate', 'webdav', 'CUserTypeWebdavElement', 'OnPostUpdate');
     UnRegisterModuleDependences('blog', 'OnBeforePostDelete', 'webdav', 'CUserTypeWebdavElement', 'OnBeforePostDelete');
     UnRegisterModuleDependences("blog", "OnCommentAdd", 'webdav', 'CUserTypeWebdavElement', "OnCommentAdd");
     UnRegisterModuleDependences("blog", "OnCommentUpdate", 'webdav', 'CUserTypeWebdavElement', "OnCommentUpdate");
     UnRegisterModuleDependences("blog", "OnBeforeCommentDelete", 'webdav', 'CUserTypeWebdavElement', "OnBeforeCommentDelete");
     UnRegisterModuleDependences("im", "OnBeforeConfirmNotify", "webdav", "CWebDavSymlinkHelper", "OnBeforeConfirmNotify");
     CAgent::removeModuleAgents("webdav");
     $this->registerHandlerToBlockIblock();
     disk::registerModuleDependences(true);
 }