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

	if ($this->getCommentByType(Comment::TYPE_EXPIRED))
	{
		return $expiredComments;
	}

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

	$liveParams = $this->prepareTaskExpiredCommentLiveParams($taskData);
	$expiredComments[] = new Comment(
		Loc::getMessage($messageKey, $replace),
		$this->authorId,
		Comment::TYPE_EXPIRED,
		[[$messageKey, array_merge($replace, $liveParams)]]
	);

	return $expiredComments;
}