• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/dispatch/methodschedule.php
  • Класс: BitrixSenderDispatchMethodSchedule
  • Вызов: MethodSchedule::getNextDate
public function getNextDate()
{
	if (empty($this->daysOfWeek) && empty($this->monthsOfYear) && empty($this->daysOfMonth))
	{
		return null;
	}

	if (!empty($this->monthsOfYear) || !empty($this->daysOfMonth))
	{
		$date = $this->getDateTimeByData($this->monthsOfYear, $this->daysOfMonth);
	}
	else
	{
		$date = $this->getDateTime();
		for($i = 0; $i < 7; $i++)
		{
			if ($i > 0)
			{
				$date->add("+1 days");
			}

			if (!$this->checkDateTime($date))
			{
				continue;
			}

			$day = (int) date('w', $date->getTimestamp());
			$day = $day === 0 ? 7 : $day;
			if (in_array($day, $this->daysOfWeek))
			{
				break;
			}
		}
	}

	return $date;
}