• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/util/calendar.php
  • Класс: Bitrix\Tasks\Util\Calendar
  • Вызов: Calendar::getSettings
static function getSettings($siteId = false)
{
	$result = static::getDefaultSettings();

	if($siteId === false)
	{
		$siteId = SITE_ID;
	}

	$site = \CSite::GetByID($siteId)->fetch();
	$weekDay = $site['WEEK_START'];
	$weekDaysMap = array(
		'SU', 'MO', 'TU', 'WE', 'TH', 'FR', 'SA'
	);
	if((string) $weekDay != '' && isset($weekDaysMap[$weekDay]))
	{
		$result['WEEK_START'] = $weekDaysMap[$weekDay];
	}

	$calendarSettings = \Bitrix\Tasks\Integration\Calendar::getSettings();
	if(!empty($calendarSettings))
	{
		if(is_array($calendarSettings['week_holidays']))
		{
			$result['WEEKEND'] = $calendarSettings['week_holidays'];
		}
		/*
		if((string) $calendarSettings['week_start'] != '')
		{
			$result['WEEK_START'] = $calendarSettings['week_start'];
		}
		*/
		if((string) $calendarSettings['year_holidays'] != '')
		{
			$holidays = explode(',', $calendarSettings['year_holidays']);
			if(is_array($holidays) && !empty($holidays))
			{
				foreach($holidays as $day)
				{
					$day = trim($day);
					list($day, $month) = explode('.', $day);
					$day = intval($day);
					$month = intval($month);

					if($day && $month)
					{
						$result['HOLIDAYS'][] = array('M' => $month, 'D' => $day);
					}
				}
			}
		}

		$timeStart = explode('.', (string)$calendarSettings['work_time_start']);
		if(isset($timeStart[0]))
		{
			$result['HOURS']['START']['H'] = (int)$timeStart[0];
		}
		if(isset($timeStart[1]))
		{
			$result['HOURS']['START']['M'] = (int)$timeStart[1];
		}

		$timeEnd = explode('.', (string)$calendarSettings['work_time_end']);
		if(isset($timeEnd[0]))
		{
			$result['HOURS']['END']['H'] = (int)$timeEnd[0];
		}
		if(isset($timeEnd[1]))
		{
			$result['HOURS']['END']['M'] = (int)$timeEnd[1];
		}
	}

	return $result;
}