function Delete($ID) { global $DB, $CACHE_MANAGER, $stackCacheManager, $APPLICATION; $ID = (int) $ID; if ($ID <= 0) { return false; } if ($res = CCatalogGroup::GetByID($ID)) { if ($res["BASE"] != "Y") { foreach (GetModuleEvents("catalog", "OnBeforeGroupDelete", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } foreach (GetModuleEvents("catalog", "OnGroupDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID)); } if (!defined("CATALOG_SKIP_CACHE") || !CATALOG_SKIP_CACHE) { $CACHE_MANAGER->CleanDir("catalog_group"); $CACHE_MANAGER->Clean("catalog_group_perms"); } $stackCacheManager->Clear("catalog_GetQueryBuildArrays"); $stackCacheManager->Clear("catalog_discount"); $DB->Query("DELETE FROM b_catalog_price WHERE CATALOG_GROUP_ID = " . $ID); $DB->Query("DELETE FROM b_catalog_group2group WHERE CATALOG_GROUP_ID = " . $ID); $DB->Query("DELETE FROM b_catalog_group_lang WHERE CATALOG_GROUP_ID = " . $ID); return $DB->Query("DELETE FROM b_catalog_group WHERE ID = " . $ID, true); } else { $APPLICATION->ThrowException(GetMessage('BT_MOD_CAT_GROUP_ERR_CANNOT_DELETE_BASE_TYPE'), 'BASE'); } } return false; }
function GetCatalogGroup($CATALOG_GROUP_ID) { $CATALOG_GROUP_ID = intval($CATALOG_GROUP_ID); return CCatalogGroup::GetByID($CATALOG_GROUP_ID); }