- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/manager/task/reminder.php
- Класс: BitrixTasksManagerTaskReminder
- Вызов: Reminder::manageSet
static function manageSet($userId, $taskId, array $items = array(), array $parameters = array('PUBLIC_MODE' => false, 'MODE' => self::MODE_ADD))
{
$errors = static::ensureHaveErrorCollection($parameters);
$result = array(
'DATA' => array(),
'CAN' => array(),
'ERRORS' => $errors
);
if(!static::checkSetPassed($items, $parameters['MODE']))
{
return $result;
}
// todo: temporary commended out, as it makes troubles with rights check on task.update
//static::checkCanReadTaskThrowException($userId, $taskId);
// todo: first check all data, then do update...
$data = array();
CTaskReminders::Delete(array(
"=TASK_ID" => $taskId,
"=USER_ID" => $userId
));
BitrixTasksUtilAgentManager::checkAgentIsAlive('sendReminder', 60);
foreach($items as $item)
{
if((string) $item['REMIND_DATE'] == '')
{
continue;
}
$reminder = new CTaskReminders(array('USER_ID' => $userId));
$fields = array(
'TASK_ID' => $taskId,
'USER_ID' => $userId,
'REMIND_DATE' => $item['REMIND_DATE'],
'TYPE' => $item['TYPE'],
'TRANSPORT' => $item['TRANSPORT'],
'RECEPIENT_TYPE' => $item['RECEPIENT_TYPE']
);
if(!$reminder->Add($fields))
{
$errors->load($reminder->getErrors());
}
}
$result['DATA'] = $data;
return $result;
}