- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/lib/sync/managers/datasyncmanager.php
- Класс: BitrixCalendarSyncManagersDataSyncManager
- Вызов: DataSyncManager::prepareRemind
private function prepareRemind($parsed, array &$fields): void
{
$cnt = count($parsed);
if ($cnt === 2 && $parsed[1] === 'date')
{
$fields['REMIND'][] = [
'type' => $parsed[1],
'value' => new DateTime($parsed[0], 'Ymd\THis\Z'),
];
}
else if ($cnt === 2 && $fields['SKIP_TIME'] === 'Y')
{
$fields['REMIND'][] = [
'type' => 'daybefore',
'before' => 1,
'time' => 1440 - (int)$parsed[0] * 60,
];
}
else if ($cnt === 2)
{
$fields['REMIND'][] = [
'count' => (int)$parsed[0],
'type' => $parsed[1],
];
}
else if ($cnt === 3 && $parsed[2] === 'daybefore')
{
$fields['REMIND'][] = [
'type' => $parsed[2],
'before' => 0,
'time' => (int)$parsed[0] * 60,
];
}
else if ($cnt === 4 && $fields['SKIP_TIME'] === 'Y')
{
$fields['REMIND'][] = [
'type' => 'daybefore',
'before' => $parsed[0] + 1,
'time' => 1440 - (int)$parsed[2] * 60,
];
}
else if ($cnt === 4)
{
$fields['REMIND'][] = [
'type' => $parsed[3],
'count' => (int)$parsed[0] * 24 + $parsed[2],
];
}
}