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