• Модуль: 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;
}