예제 #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;
 }