- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/clearnlesson.php
- Класс: CLearnLesson
- Вызов: CLearnLesson::PublishProhibitionPurge
static function PublishProhibitionPurge ($in_lessonId, $in_purgeMode)
{
global $DB;
self::_EnsureArgsStrictlyCastableToIntegers ($in_lessonId, $in_purgeMode);
$lessonId = (int) $in_lessonId;
$purgeMode = (int) $in_purgeMode;
if ( ! in_array(
$purgeMode,
array(
self::PUBLISH_PROHIBITION_PURGE_ALL_LESSONS_IN_COURSE_CONTEXT,
self::PUBLISH_PROHIBITION_PURGE_LESSON_IN_ALL_COURSE_CONTEXT,
self::PUBLISH_PROHIBITION_PURGE_BOTH // ORed previous two elements
),
true
)
)
{
throw new LearnException ('EA_PARAMS: purgeMode',
LearnException::EXC_ERR_ALL_LOGIC | LearnException::EXC_ERR_ALL_PARAMS);
}
$arSqlCondition = array();
if ($purgeMode & self::PUBLISH_PROHIBITION_PURGE_ALL_LESSONS_IN_COURSE_CONTEXT)
$arSqlCondition[] = 'COURSE_LESSON_ID = ' . $lessonId;
if ($purgeMode & self::PUBLISH_PROHIBITION_PURGE_LESSON_IN_ALL_COURSE_CONTEXT)
$arSqlCondition[] = 'PROHIBITED_LESSON_ID = ' . $lessonId;
if (count($arSqlCondition) > 0)
{
$sqlCondition = implode(' OR ', $arSqlCondition);
$rc = $DB->Query(
"DELETE FROM b_learn_publish_prohibition
WHERE " . $sqlCondition,
true);
if ($rc === false)
throw new LearnException ('EA_SQLERROR', LearnException::EXC_ERR_ALL_GIVEUP);
}
CLearnCacheOfLessonTreeComponent::MarkAsDirty();
}