• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/api/user.php
  • Класс: BitrixRestApiUser
  • Вызов: User::prepareUserField
static function prepareUserField($params, $data)
{
	$result = $data;
	switch ($params['USER_TYPE_ID'])
	{
		case 'datetime':
			$result = CRestUtil::unConvertDateTime($data);
			break;
		case 'date':
			$result = CRestUtil::unConvertDate($data);
			break;
		case 'file':
			if (is_array($data))
			{
				if ($params['MULTIPLE'] === 'N')
				{
					if (!empty($data['fileData']))
					{
						$result = CRestUtil::saveFile($data['fileData']);
						$result['old_id'] = $params['VALUE'];
					}
					$id = isset($data['id']) ? (int)$data['id'] : 0;
					$remove = isset($data['remove']) && is_string($data['remove']) && mb_strtoupper($data['remove']) === 'Y';
					if ($remove && $id > 0)
					{
						$result = [
							'old_id' => $id,
							'del' => 'Y'
						];
					}
				}
				else
				{
					if ($params['VALUE'])
					{
						$result = array_merge($result, $params['VALUE']);
					}

					foreach ($result as $key => $value)
					{
						if ($value['fileData'])
						{
							$result[$key] = CRestUtil::saveFile($value['fileData']);
						}
						else
						{
							$id = isset($value['id']) ? (int)$value['id'] : 0;
							$remove = isset($value['remove']) && is_string($value['remove']) && mb_strtoupper($value['remove']) === 'Y';
							if ($remove && $id > 0)
							{
								$result[$key] = [
									'old_id' => $id,
									'del' => 'Y'
								];
							}
							elseif ($value > 0)
							{
								$result[$key] = [
									'old_id' => $value,
									'error' => 'Y'
								];
							}
						}
					}
				}
			}
			break;
	}
	return $result;
}