• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskreminders.php
  • Класс: CTaskReminders
  • Вызов: CTaskReminders::CheckFields
function CheckFields(&$arFields,
	/** @noinspection PhpUnusedParameterInspection */ $ID = false)
{
	/** @global CMain $APPLICATION */
	global $APPLICATION;

	$arMsg = Array();

	if (!is_set($arFields, "USER_ID"))
	{
		$arMsg[] = array("text" => GetMessage("TASKS_BAD_USER_ID"), "id" => "ERROR_TASKS_BAD_USER_ID");
	}
	else
	{

		$r = CUser::GetByID($arFields["USER_ID"]);
		if (!$r->Fetch())
		{
			$arMsg[] = array("text" => GetMessage("TASKS_BAD_USER_ID_EX"), "id" => "ERROR_TASKS_BAD_USER_ID_EX");
		}
	}

	if (!is_set($arFields, "TASK_ID"))
	{
		$arMsg[] = array("text" => GetMessage("TASKS_BAD_TASK_ID"), "id" => "ERROR_TASKS_BAD_TASK_ID");
	}
	else
	{
		if ($this->userId !== false)
		{
			/** @noinspection PhpDeprecationInspection */
			$r = CTasks::GetByID($arFields["TASK_ID"], true, array('USER_ID' => (int) $this->userId));
		}
		else
		{
			/** @noinspection PhpDeprecationInspection */
			$r = CTasks::GetByID($arFields["TASK_ID"]);
		}

		if (!$r->Fetch())
		{
			$arMsg[] = array("text" => GetMessage("TASKS_BAD_TASK_ID_EX"), "id" => "ERROR_TASKS_BAD_TASK_ID_EX");
		}
	}

	if (!is_set($arFields, "REMIND_DATE") || !($arFields["REMIND_DATE"] = BitrixTasksUI::checkDateTime($arFields["REMIND_DATE"])))
	{
		$arMsg[] = array("text" => GetMessage("TASKS_BAD_REMIND_DATE"), "id" => "ERROR_BAD_TASKS_REMIND_DATE");
	}

	if(array_key_exists('RECEPIENT_TYPE', $arFields) && !in_array($arFields['RECEPIENT_TYPE'], array(
		self::RECEPIENT_TYPE_SELF,
		self::RECEPIENT_TYPE_ORIGINATOR,
		self::RECEPIENT_TYPE_RESPONSIBLE
	)))
	{
		$arMsg[] = array("text" => GetMessage("TASKS_BAD_RECEPIENT_TYPE"), "id" => "ERROR_BAD_RECEPIENT_TYPE");
	}

	if (!empty($arMsg))
	{
		$this->errors = $arMsg;

		$e = new CAdminException($arMsg);
		$APPLICATION->ThrowException($e);
		return false;
	}

	//Defaults
	if (!is_set($arFields, "TYPE") || $arFields["TYPE"] != self::REMINDER_TYPE_DEADLINE)
		$arFields["TYPE"] = self::REMINDER_TYPE_COMMON;

	if (!is_set($arFields, "TRANSPORT") || $arFields["TRANSPORT"] != self::REMINDER_TRANSPORT_JABBER)
		$arFields["TRANSPORT"] = self::REMINDER_TRANSPORT_EMAIL;

	return true;
}