- Модуль: 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;
}