• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/clearnlesson.php
  • Класс: CLearnLesson
  • Вызов: CLearnLesson::_funcDelete_ParseOptions
static function _funcDelete_ParseOptions($lesson_id)
{
	$simulate = false;	// don't simulate by default
	$check_permissions = true;	// check rights by default
	$user_id = -1;	// -1 means 'current logged user'

	if (is_array($lesson_id))
	{
		// Parse options
		$options = CLearnSharedArgManager::StaticParser(
			$lesson_id,
			array(
				'lesson_id' => array(
					'type'          => 'strictly_castable_to_integer',
					'mandatory'     => true
					),
				'simulate' => array(
					'type'          => 'boolean',
					'mandatory'     => false,
					'default_value' => $simulate
					),
				'check_permissions' => array(
					'type'          => 'boolean',
					'mandatory'     => false,
					'default_value' => $check_permissions
					),
				'user_id' => array(
					'type'          => 'strictly_castable_to_integer',
					'mandatory'     => false,
					'default_value' => $user_id
					)
				)
			);

		$lesson_id         = $options['lesson_id'];
		$simulate          = $options['simulate'];
		$check_permissions = $options['check_permissions'];
		$user_id           = $options['user_id'];
	}
	else
		$lesson_id = (int) $lesson_id;

	if ($check_permissions)
	{
		if ($user_id === -1)
		{
			global $USER;

			if ( ! (is_object($USER) && method_exists($USER, 'GetID')) )
			{
				throw new LearnException(
					'EA_OTHER: $USER isn't available.',
					LearnException::EXC_ERR_ALL_GIVEUP
					| LearnException::EXC_ERR_ALL_LOGIC);
			}

			$user_id = (int) $USER->GetID();
		}
	}

	return (array($lesson_id, $simulate, $check_permissions, $user_id));
}