- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/sitebutton/worktime.php
- Класс: Bitrix\Crm\SiteButton\WorkTime
- Вызов: WorkTime::convertToJS
static function convertToJS($workTime = array()) { static $timeZoneOffset = null; if ($timeZoneOffset === null) { $date = new \DateTime(); if (!empty($workTime['TIME_ZONE'])) { $dateTimeZone = new \DateTimeZone($workTime['TIME_ZONE']); } else { $dateTimeZone = $date->getTimezone(); } $timeZoneOffset = $dateTimeZone->getOffset($date); } $holidays = count($workTime['HOLIDAYS']) > 0 ? $workTime['HOLIDAYS'] : null; $dayOffCodes = count($workTime['DAY_OFF']) > 0 ? $workTime['DAY_OFF'] : null; if ($dayOffCodes) { $days = array('SU' => 0, 'MO' => 1, 'TU' => 2, 'WE' => 3, 'TH' => 4, 'FR' => 5, 'SA' => 6); $dayOff = array(); foreach ($dayOffCodes as $dayOffCode) { $dayOff[] = $days[$dayOffCode]; } } else { $dayOff = null; } return array( 'timeZoneOffset' => $timeZoneOffset / 60, 'timeFrom' => (float) $workTime['TIME_FROM'], 'timeTo' => (float) $workTime['TIME_TO'], 'holidays' => $holidays, 'dayOff' => $dayOff, 'actionRule' => $workTime['ACTION_RULE'], 'actionText' => $workTime['ACTION_TEXT'], ); }