• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/Calc/Libs/DateLib.php
  • Класс: BitrixBizprocCalcLibsDateLib
  • Вызов: DateLib::getCalendarHolidays
private function getCalendarHolidays()
{
	if (static::$yearHolidays === null)
	{
		$calendarSettings = CCalendar::GetSettings();
		$weekHolidays = [0, 6];
		$yearHolidays = [];

		if (isset($calendarSettings['week_holidays']))
		{
			$weekDays = ['SU' => 0, 'MO' => 1, 'TU' => 2, 'WE' => 3, 'TH' => 4, 'FR' => 5, 'SA' => 6];
			$weekHolidays = [];
			foreach ($calendarSettings['week_holidays'] as $day)
			{
				$weekHolidays[] = $weekDays[$day];
			}
		}

		if (isset($calendarSettings['year_holidays']))
		{
			foreach (explode(',', $calendarSettings['year_holidays']) as $yearHoliday)
			{
				$date = explode('.', trim($yearHoliday));
				if (count($date) == 2 && $date[0] && $date[1])
				{
					$yearHolidays[] = (int)$date[0] . '.' . (int)$date[1];
				}
			}
		}
		static::$weekHolidays = $weekHolidays;
		static::$yearHolidays = $yearHolidays;
	}

	return [static::$weekHolidays, static::$yearHolidays];
}