• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/classes/general/restentity.php
  • Класс: CBitrixRestEntity
  • Вызов: CBitrixRestEntity::prepareItem
static function prepareItem($params, $arIBlock, $server)
{
	$arItemFields = array();

	foreach($params as $key => $param)
	{
		switch($key)
		{
			case 'ENTITY':
			case 'IBLOCK_ID':
			case 'ID':

			case 'RIGHTS':
			case 'PREVIEW_TEXT_TYPE':
			case 'DETAIL_TEXT_TYPE':
			case 'CREATED_BY':
			case 'MODIFIED_BY':
			case 'DATE_CREATE':
			case 'SHOW_COUNTER':
			case 'SHOW_COUNTER_START':
			case 'TAGS':

			break;

			case 'PROPERTY_VALUES':
				$PROPS = array();
				$dbRes = self::getItemProperties($params['ENTITY'], $server);
				while ($arField = $dbRes->Fetch())
				{
					if(isset($param[$arField['CODE']]))
					{
						if($arField['PROPERTY_TYPE'] == 'F')
						{
							$PROPS[$arField['CODE']] = CRestUtil::saveFile($param[$arField['CODE']]);
						}
						else
						{
							$PROPS[$arField['CODE']] = $param[$arField['CODE']];
						}
					}
				}
				$arItemFields['PROPERTY_VALUES'] = $PROPS;
			break;

			case 'DATE_ACTIVE_FROM':
			case 'DATE_ACTIVE_TO':
				$arItemFields[$key] = CRestUtil::unConvertDateTime($param, true);
			break;

			case 'PREVIEW_PICTURE':
			case 'DETAIL_PICTURE':
				$arItemFields[$key] = CRestUtil::saveFile($param);
			break;

			case 'SECTION':
				$arItemFields['IBLOCK_SECTION_ID'] = $param;
			break;

			default:
				if(!preg_match('/[^a-zA-Z0-9_]/', $key))
					$arItemFields[$key] = $param;
			break;
		}
	}

	$arItemFields['IBLOCK_ID'] = $arIBlock['ID'];

	return $arItemFields;
}