• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/im/notification/usecase/taskupdated.php
  • Класс: BitrixTasksIntegrationIMNotificationUseCaseTaskUpdated
  • Вызов: TaskUpdated::formatTimeHHMM
private function formatTimeHHMM(?int $in, User $recepient, bool $bDataInSeconds = false): string
{
	if ($in === null)
		return '';

	if ($bDataInSeconds)
		$minutes = (int) round($in / 60, 0);

	$hours = (int) ($minutes / 60);

	if ($minutes < 60)
	{
		$duration = $minutes . ' ' . Loc::getMessagePlural(
				'TASKS_TASK_DURATION_MINUTES',
				$minutes,
				null,
				$recepient->getLang()
			);
	}
	elseif ($minutesInResid = $minutes % 60)
	{
		$duration = $hours
			. ' '
			. Loc::getMessagePlural(
				'TASKS_TASK_DURATION_HOURS',
				$hours,
				null,
				$recepient->getLang()
			)
			. ' '
			. $minutesInResid
			. ' '
			. Loc::getMessagePlural(
				'TASKS_TASK_DURATION_MINUTES',
				$minutesInResid,
				null,
				$recepient->getLang()
			);
	}
	else
	{
		$duration = $hours . ' ' . Loc::getMessagePlural(
				'TASKS_TASK_DURATION_HOURS',
				$hours,
				null,
				$recepient->getLang()
			);
	}

	if ($bDataInSeconds && ($in < 3600))
	{
		if ($secondsInResid = $in % 60)
		{
			$duration .= ' ' . $secondsInResid
				. ' '
				. Loc::getMessagePlural(
					'TASKS_TASK_DURATION_SECONDS',
					$secondsInResid,
					null,
					$recepient->getLang()
				);
		}
	}

	return ($duration);
}