• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/scrum/controllers/calendar.php
  • Класс: BitrixTasksScrumControllersCalendar
  • Вызов: Calendar::getCalendarSettings
private function getCalendarSettings(int $defaultSprintDuration): array
{
	$settings = [];

	$settings['workTimeStart'] = (int) COption::getOptionString('calendar', 'work_time_start', 9);

	$settings['weekDays'] = [];

	$holidays = explode('|', COption::getOptionString('calendar', 'week_holidays', 'SA|SU'));
	foreach (CCalendarSceleton::getWeekDays() as $day)
	{
		if (!in_array($day[2], $holidays, true))
		{
			$settings['weekDays'][$day[2]] = $day[2];
		}
	}

	$weekStart = current($settings['weekDays']);
	$settings['weekStart'][$weekStart] = $weekStart;

	$oneWeek = DateInterval::createFromDateString('1 week')->format('%d') * 86400;
	$twoWeek = DateInterval::createFromDateString('2 weeks')->format('%d') * 86400;
	$threeWeek = DateInterval::createFromDateString('3 weeks')->format('%d') * 86400;
	$fourWeek = DateInterval::createFromDateString('4 weeks')->format('%d') * 86400;
	$interval = 1;
	if ($defaultSprintDuration === $oneWeek)
	{
		$interval= 1;
	}
	elseif ($defaultSprintDuration === $twoWeek)
	{
		$interval= 2;
	}
	elseif ($defaultSprintDuration === $threeWeek)
	{
		$interval= 3;
	}
	elseif ($defaultSprintDuration === $fourWeek)
	{
		$interval= 4;
	}
	$settings['interval'] = $interval;

	return $settings;
}