• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/kanban/entity/deadlines/dateperiods.php
  • Класс: Bitrix\Crm\Kanban\Entity\Deadlines\DatePeriods
  • Вызов: DatePeriods::stageByDate
public function stageByDate(?Date $checkDate): string
{
	if ($checkDate === null)
	{
		return DeadlinesStageManager::STAGE_LATER;
	}

	$checkTs = $checkDate->getTimestamp();

	if ($checkTs < $this->today()->getTimestamp())
	{
		return DeadlinesStageManager::STAGE_OVERDUE;
	}

	if ($checkTs === $this->today()->getTimestamp())
	{
		return DeadlinesStageManager::STAGE_TODAY;
	}

	if (
		$checkTs >= $this->tomorrow()->getTimestamp()
		&& $checkTs <= $this->currentWeekLastDay()->getTimestamp())
	{
		return DeadlinesStageManager::STAGE_THIS_WEEK;
	}

	if (
		$checkTs >= $this->nextWeekFirstDay()->getTimestamp()
		&& $checkTs <= $this->nextWeekLastDay()->getTimestamp()
	)
	{
		return DeadlinesStageManager::STAGE_NEXT_WEEK;
	}

	return DeadlinesStageManager::STAGE_LATER;
}