• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/forum/task/comment.php
  • Класс: BitrixTasksIntegrationForumTaskComment
  • Вызов: Comment::update
static function update($id, array $data, $taskId = false)
{
	$result = new Result();

	if(!static::includeModule())
	{
		$result->addError('NO_MODULE', 'No forum module installed');
		return false;
	}

	// get task by comment id
	if($taskId === false)
	{
		// todo
	}
	$taskId = intval($taskId);

	CounterCounterService::getInstance()->collectData($taskId);

	$feed = new ForumCommentsFeed(
		static::getForumId(),
		array(
			"type" => 'TK',
			"id" => $taskId,
			"xml_id" => "TASK_".$taskId
		)
	);

	// $feed->update() works with global-defined user fields
	foreach ($data as $key => $value)
	{
		if (UtilUserField::isUFKey($key))
		{
			$GLOBALS[$key] = $value;
		}
	}

	$updateResult = $feed->edit($id, $data);
	if($updateResult)
	{
		$result->setData($updateResult);
	}
	else
	{
		$errors = $feed->getErrors();
		if(is_array($errors))
		{
			foreach($errors as $error)
			{
				$result->getErrors()->add('ACTION_FAILED_REASON', $error->getMessage(), Error::TYPE_FATAL, array('CODE' => $error->getCode()));
			}
		}
	}

	return $result;
}