- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/group.php
- Класс: CLearningGroup
- Вызов: CLearningGroup::delete
static function delete($groupId)
{
global $DB, $APPLICATION, $USER_FIELD_MANAGER;
foreach(GetModuleEvents('learning', 'OnBeforeLearningGroupDelete', true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array($groupId)) === false)
{
IncludeModuleLangFile(__FILE__);
$errmsg = GetMessage("LEARNING_GROUP_DELETE_UNKNOWN_ERROR");
$errno = 'LEARNING_GROUP_DELETE_UNKNOWN_ERROR';
if ($ex = $APPLICATION->getException())
{
$errmsg = $ex->getString();
$errno = $ex->getId();
}
$e = new CAdminException(array('text' => $errmsg, 'id' => $errno));
$APPLICATION->ThrowException($e);
return false;
}
}
$rc = $DB->Query(
"DELETE FROM b_learn_groups WHERE ID = " . (int) $groupId,
$bIgnoreErrors = true
);
if (defined("BX_COMP_MANAGED_CACHE"))
{
global $CACHE_MANAGER;
$CACHE_MANAGER->ClearByTag('LEARNING_GROUP_' . (int) ($groupId / 100));
$CACHE_MANAGER->ClearByTag('LEARNING_GROUP');
}
$USER_FIELD_MANAGER->delete('LEARNING_LGROUPS', $groupId);
CEventLog::add(array(
'AUDIT_TYPE_ID' => 'LEARNING_REMOVE_ITEM',
'MODULE_ID' => 'learning',
'ITEM_ID' => 'LG #' . $groupId,
'DESCRIPTION' => 'learning group removed'
));
foreach(GetModuleEvents('learning', 'OnAfterLearningGroupDelete', true) as $arEvent)
ExecuteModuleEventEx($arEvent, array($groupId));
return ($rc !== false);
}