• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/comments/task/commentposter.php
  • Класс: BitrixTasksCommentsTaskCommentPoster
  • Вызов: CommentPoster::prepareCommentsOnTaskExpiredSoon
private function prepareCommentsOnTaskExpiredSoon(array $taskData): array
{
	$expiredSoonComments = [];

	if ($this->getCommentByType(Comment::TYPE_EXPIRED_SOON))
	{
		return $expiredSoonComments;
	}

	$members = $this->getMembersForExpiredMessages($taskData);
	if (empty($members))
	{
		$messageKey = 'COMMENT_POSTER_COMMENT_TASK_EXPIRED_SOON_NO_MEMBERS';
		$messageKey = $this->getLastVersionedMessageKey($messageKey);
		$replace = [];
	}
	else
	{
		$userToLinkFunction = function (int $userId) {
			return $this->parseUserToLinked($userId);
		};
		$messageKey = 'COMMENT_POSTER_COMMENT_TASK_EXPIRED_SOON';
		$messageKey = $this->getLastVersionedMessageKey($messageKey);
		$replace = ['#MEMBERS#' => implode(', ', array_map($userToLinkFunction, $members))];
	}

	$liveParams = $this->prepareTaskExpiredSoonCommentLiveParams($taskData);
	$expiredSoonComments[] = new Comment(
		Loc::getMessage($messageKey, $replace),
		$this->authorId,
		Comment::TYPE_EXPIRED_SOON,
		[[$messageKey, array_merge($replace, $liveParams)]]
	);

	return $expiredSoonComments;
}