public function deleteIblockType($typeId) { /** @noinspection PhpDynamicAsStaticMethodCallInspection */ if (\CIBlockType::Delete($typeId)) { return true; } $this->throwException(__METHOD__, 'Could not delete iblock type %s', $typeId); }
/** * @param string $id * * @throws MigrationException */ protected function deleteIBlockType($id) { /** @global $APPLICATION \CMain */ /** @global $DB \CDatabase */ global $APPLICATION; global $DB; $DB->StartTransaction(); if (\CIBlockType::Delete($id)) { $DB->Commit(); } else { $DB->Rollback(); throw new MigrationException($APPLICATION->GetException()); } }
/** * Delete * @param $IblockTypeCode * @return bool * @throws \Exception */ public static function Delete($IblockTypeCode) { $Iblock = new \CIBlock(); $iblockEl = new \CIBlockElement(); $dbIblock = $Iblock->GetList(array(), array('TYPE' => $IblockTypeCode)); while ($dbRow = $dbIblock->Fetch()) { $iblockElDbRes = $iblockEl->GetList(array(), array('IBLOCK_ID' => $dbRow['ID'])); if ($iblockElDbRes !== false && $iblockElDbRes->SelectedRowsCount()) { throw new BimException('Can not delete iblock type: iblock id =' . $dbRow['ID'] . ' have elements'); } } if (!\CIBlockType::Delete($IblockTypeCode)) { throw new BimException('Delete iblock type error!'); } return true; }
} if ($USER->IsAdmin() && ($arID = $lAdmin->GroupAction())) { if ($_REQUEST['action_target'] == 'selected') { $rsData = CIBlockType::GetList($arOrder, $arFilter); while ($arRes = $rsData->Fetch()) { $arID[] = $arRes['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } switch ($_REQUEST['action']) { case "delete": $DB->StartTransaction(); if (!CIBlockType::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("IBLOCK_TYPE_ADMIN_ERR_DEL") . " ("" . htmlspecialcharsbx($ID) . "")", $ID); } $DB->Commit(); break; } } } // Fill list with data $rsData = CIBlockType::GetList($arOrder, $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // Set page navigation $lAdmin->NavText($rsData->GetNavPrint(GetMessage("IBLOCK_TYPE_ADMIN_NAV"))); // List headers/columns
/** *Удаляем установленный инфоблок с примерами. Его ID хранится в опции модуля demo_iblock_id */ function removeSampleIblock() { global $DB; $iIblockId = intval(COption::GetOptionString("bit.includer", "demo_iblock_id", "0")); if ($iIblockId > 0 && CModule::IncludeModule('iblock')) { $res = CIBlock::GetByID($iIblockId); if ($arIblock = $res->GetNext()) { $DB->StartTransaction(); if (!CIBlock::Delete($arIblock['ID'])) { $DB->Rollback(); } else { $DB->Commit(); } //Удаляем тип инфоблока если в нем нет других инфоблоков $res = CIBlock::GetList(array(), array('TYPE' => $arIblock['IBLOCK_TYPE_ID'], 'SITE_ID' => $arIblock['LID'], 'ACTIVE' => 'Y'), true); if (intval($res->SelectedRowsCount()) == 0) { $DB->StartTransaction(); if (!CIBlockType::Delete($arIblock['IBLOCK_TYPE_ID'])) { $DB->Rollback(); } else { $DB->Commit(); } } } } }
function UnInstallDB() {global $DB; if(CModule::IncludeModule("iblock")) { $DB->StartTransaction(); if(!CIBlockType::Delete('vdk_companies_type')) { $DB->Rollback(); echo 'Delete error!'; } $DB->Commit(); } if(CModule::IncludeModule("iblock")) { $DB->StartTransaction(); if(!CIBlockType::Delete('vdk_cities_type')) { $DB->Rollback(); echo 'Delete error!'; } $DB->Commit(); } return true; }
function DoUninstall() { if(!CModule::IncludeModule('iblock')) return false; global $APPLICATION, $step, $errors; $step = IntVal($step); if($step<2) { $APPLICATION->IncludeAdminFile(GetMessage("FORM_UNINSTALL_TITLE"), $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/".$this->MODULE_ID."/install/unstep1.php"); } elseif($step==2) { $errors = false; if($_REQUEST["SAVE_IBLOCK"]!="Y"){ CIBlockType::Delete("kaycom_ONEPLACESEO"); } UnRegisterModule(self::MODULE_ID); $this->UnInstallDB(); $this->UnInstallFiles(); UnRegisterModuleDependences("main", "OnEpilog", "kaycom.oneplaceseo", "CKaycomOneplaceseo", "onPageLoad"); $APPLICATION->IncludeAdminFile(GetMessage("FORM_UNINSTALL_TITLE"), $_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/".$this->MODULE_ID."/install/unstep2.php"); } }
/** * @param string $name * @param bool $deleteIfExists */ protected function IblockTypeDelete($name) { $name = trim($name); if (empty($name)) { throw new \Exception('You must set iblock CODE'); } global $DB; $DB->StartTransaction(); if (!\CIBlockType::Delete($name)) { $DB->Rollback(); $error = "Can't delete {$name} iblock type"; } else { echo "Delete {$name} iblock type\r\n"; } $DB->Commit(); if (isset($error)) { throw new \Exception($error); } }