• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/ilearngraphnode.php
  • Класс: CLearnGraphNode
  • Вызов: CLearnGraphNode::Remove
static function Remove($id)
{
	global $DB;

	if ( ! is_numeric($id) )
		throw new LearnException ('EA_PARAMS', LearnException::EXC_ERR_GN_REMOVE);

	$lessonData = self::GetByID($id);
	if ( ! array_key_exists('NAME', $lessonData) )
		throw new LearnException ('EA_NOT_EXISTS', LearnException::EXC_ERR_GN_REMOVE);

	// Remove pictures
	if ( array_key_exists('PREVIEW_PICTURE', $lessonData) && ($lessonData['PREVIEW_PICTURE'] > 0) )
		CFile::Delete($lessonData['PREVIEW_PICTURE']);

	if ( array_key_exists('DETAIL_PICTURE', $lessonData) && ($lessonData['DETAIL_PICTURE'] > 0) )
		CFile::Delete($lessonData['DETAIL_PICTURE']);

	// Remove SCORM data
	if ( array_key_exists('SCORM', $lessonData) && ($lessonData['SCORM'] === 'Y') )
		DeleteDirFilesEx("/".(COption::GetOptionString("main", "upload_dir", "upload"))."/learning/scorm/" . $id);

	// Remove graph node
	$rc = $DB->Query (
		"DELETE FROM b_learn_lesson
		WHERE ID = '" . ($id + 0) . "'",
		true	// ignore errors
		);

	if ($rc === false)
		throw new LearnException ('EA_SQLERROR', LearnException::EXC_ERR_GN_REMOVE);

	if ($rc->AffectedRowsCount() == 0)
		throw new LearnException ('EA_NOT_EXISTS', LearnException::EXC_ERR_GN_REMOVE);
}