- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/checklist/checklistfacade.php
- Класс: BitrixTasksCheckListCheckListFacade
- Вызов: CheckListFacade::checkFields
static function checkFields(array $fields, array $parameters = [])
{
$checkResult = new Result();
if (!array_key_exists('TITLE', $fields) && $parameters['MODE'] === 'add')
{
$checkResult = static::addErrorToResult($checkResult, 'EMPTY_TITLE');
}
else if (empty($fields) && $parameters['MODE'] === 'update')
{
$checkResult = static::addErrorToResult($checkResult, 'EMPTY_FIELDS');
}
$allowedFields = ['TITLE', 'PARENT_ID', 'SORT_INDEX', 'IS_COMPLETE', 'IS_IMPORTANT', 'MEMBERS', 'ATTACHMENTS'];
foreach (array_keys($fields) as $fieldName)
{
if (!in_array($fieldName, $allowedFields, true))
{
$checkResult = static::addErrorToResult($checkResult, 'NOT_ALLOWED_FIELD', $fieldName);
}
}
if (array_key_exists('MEMBERS', $fields))
{
if (!$fields['MEMBERS'])
{
$fields['MEMBERS'] = [];
}
foreach ($fields['MEMBERS'] as $id => $data)
{
$type = $data;
if (is_array($data))
{
$type = $data['TYPE'];
}
if (!in_array($type, [self::MEMBER_ACCOMPLICE, self::MEMBER_AUDITOR], true))
{
$checkResult = static::addErrorToResult($checkResult, 'WRONG_MEMBER_TYPE', $type);
}
}
}
return $checkResult;
}