• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/message.php
  • Класс: BitrixForumMessageTable
  • Вызов: MessageTable::checkFields
static function checkFields(Result $result, $primary, array $data)
{
	parent::checkFields($result, $primary, $data);
	if ($result->isSuccess())
	{
		try
		{
			if (array_key_exists("FORUM_ID", $data) && ForumTable::getMainData($data["FORUM_ID"]) === null)
			{
				throw new MainObjectNotFoundException(Loc::getMessage("F_ERR_INVALID_FORUM_ID"));
			}
			if (array_key_exists("TOPIC_ID", $data))
			{
				if (!($topic = TopicTable::getById($data["TOPIC_ID"])->fetch()))
				{
					throw new MainObjectNotFoundException(Loc::getMessage("F_ERR_TOPIC_IS_NOT_EXISTS"));
				}
				if ($topic["STATE"] == Topic::STATE_LINK)
				{
					throw new MainObjectPropertyException(Loc::getMessage("F_ERR_TOPIC_IS_LINK"));
				}
			}
		}
		catch (Exception $e)
		{
			$result->addError(new Error(
				$e->getMessage()
			));
		}
	}
}