• Модуль: rest
  • Путь к файлу: ~/bitrix/modules/rest/lib/userfieldproxy.php
  • Класс: BitrixRestUserFieldProxy
  • Вызов: UserFieldProxy::getTypes
static function getTypes(CRestServer $server = null)
{
	self::includeLangFile();
	$result = array(
		array('ID' => 'string', 'title' => GetMessage('REST_UF_TYPE_STRING')),
		array('ID' => 'integer', 'title' => GetMessage('REST_UF_TYPE_INTEGER')),
		array('ID' => 'double', 'title' => GetMessage('REST_UF_TYPE_DOUBLE')),
		array('ID' => 'boolean', 'title' => GetMessage('REST_UF_TYPE_BOOLEAN')),
		array('ID' => 'enumeration', 'title' => GetMessage('REST_UF_TYPE_ENUMERATION')),
		array('ID' => 'datetime', 'title' => GetMessage('REST_UF_TYPE_DATETIME')),
		array('ID' => 'date', 'title' => GetMessage('REST_UF_TYPE_DATE')),
		array('ID' => 'money', 'title' => GetMessage('REST_UF_TYPE_MONEY')),
		array('ID' => 'url', 'title' => GetMessage('REST_UF_TYPE_URL')),
		array('ID' => 'address', 'title' => GetMessage('REST_UF_TYPE_ADDRESS')),
		array('ID' => 'file', 'title' => GetMessage('REST_UF_TYPE_FILE')),
		array('ID' => 'employee', 'title' => GetMessage('REST_UF_TYPE_EMPLOYEE')),
		array('ID' => 'crm_status', 'title' => GetMessage('REST_UF_TYPE_CRM_STATUS')),
		array('ID' => 'iblock_section', 'title' => GetMessage('REST_UF_TYPE_IBLOCK_SECTION')),
		array('ID' => 'iblock_element', 'title' => GetMessage('REST_UF_TYPE_IBLOCK_ELEMENT')),
		array('ID' => 'crm', 'title' => GetMessage('REST_UF_TYPE_CRM'))
	);

	if($server !== null && $server->getAuthType() === OAuthAuth::AUTH_TYPE)
	{
		$clientInfo = AppTable::getByClientId($server->getClientId());
		$placementHandlerList = PlacementTable::getHandlersList(UserFieldType::PLACEMENT_UF_TYPE);

		foreach($placementHandlerList as $handler)
		{
			if($handler['APP_ID'] === $clientInfo['ID'])
			{
				$result[] = array(
					'ID' => $handler['ADDITIONAL'],
					'title' => $handler['TITLE']
				);
			}
		}
	}

	return $result;
}