- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/clearnlesson.php
- Класс: CLearnLesson
- Вызов: CLearnLesson::PublishProhibitionSetTo
static function PublishProhibitionSetTo ($in_lessonId, $in_contextCourseLessonId, $in_isProhibited)
{
global $DB;
self::_EnsureArgsStrictlyCastableToIntegers ($in_lessonId, $in_contextCourseLessonId);
if ( ! is_bool($in_isProhibited) )
{
throw new LearnException ('EA_PARAMS: isProhibited',
LearnException::EXC_ERR_ALL_LOGIC | LearnException::EXC_ERR_ALL_PARAMS);
}
$lessonId = (int) $in_lessonId;
$contextCourseLessonId = (int) $in_contextCourseLessonId;
$isProhibitedNow = self::IsPublishProhibited ($lessonId, $contextCourseLessonId);
// Update status only if it was changed
if ($isProhibitedNow !== $in_isProhibited)
{
if ($in_isProhibited)
{
$sql = "INSERT INTO b_learn_publish_prohibition
(COURSE_LESSON_ID, PROHIBITED_LESSON_ID)
VALUES ($contextCourseLessonId, $lessonId)";
}
else
{
$sql = "DELETE FROM b_learn_publish_prohibition
WHERE COURSE_LESSON_ID = $contextCourseLessonId
AND PROHIBITED_LESSON_ID = $lessonId";
}
$rc = $DB->Query($sql, true);
if ($rc === false)
throw new LearnException ('EA_SQLERROR', LearnException::EXC_ERR_ALL_GIVEUP);
CLearnCacheOfLessonTreeComponent::MarkAsDirty();
BitrixLearningIntegrationSearch::indexLesson($lessonId);
return (true); // prohibition status changed
}
return (false); // prohibition status not changed
}