• Модуль: mobile
  • Путь к файлу: ~/bitrix/modules/mobile/lib/rest/forms.php
  • Класс: BitrixMobileRestForms
  • Вызов: Forms::userProfile
static function userProfile($params, $n, CRestServer $server)
{
	global $USER_FIELD_MANAGER;
	$region = BitrixMainApplication::getInstance()->getLicense()->getRegion();
	$result = [];
	$result["fields"] = [
		'PERSONAL_PHOTO' =>
			[
				'sectionCode' => 'top',
				'id' => 'PERSONAL_PHOTO',
				'type' => 'userpic',
				'title' => Loc::getMessage('PERSONAL_PHOTO')
			],
		'NAME' =>
			[
				'sectionCode' => 'main',
				'id' => 'NAME',
				'type' => 'input',
				'title' => Loc::getMessage('FIRST_NAME'),
				'styles' =>
					[
						'title' =>
							[
								'font' =>
									[
										'color' => '#777777',
										'fontStyle' => 'semibold',
									],
							],
					],
			],
		'LAST_NAME' =>
			[
				'sectionCode' => 'main',
				'id' => 'LAST_NAME',
				'type' => 'input',
				'title' => Loc::getMessage('LAST_NAME')
			],
		'SECOND_NAME' =>
			[
				'sectionCode' => 'main',
				'id' => 'SECOND_NAME',
				'type' => 'input',
				'title' => Loc::getMessage('SECOND_NAME')
			],
		'EMAIL' =>
			[
				'sectionCode' => 'main',
				'id' => 'EMAIL',
				'type' => 'input',
				'title' => Loc::getMessage('EMAIL'),
				'params'=>["openScheme"=>"mailto"]
			],
		'PERSONAL_MOBILE' =>
			[
				'sectionCode' => 'main',
				'id' => 'PERSONAL_MOBILE',
				'type' => 'input',
				'title' => Loc::getMessage('PERSONAL_MOBILE'),
				'params'=>["openScheme"=>"tel"]
			],
		'PERSONAL_BIRTHDAY' =>
			[
				'sectionCode' => 'extra',
				'id' => 'PERSONAL_BIRTHDAY',
				'type' => 'date',
				'params'=>['type'=>"date", 'format'=>"dd.MM.yyyy"],
				'title' => Loc::getMessage('PERSONAL_BIRTHDAY')
			],
		'WORK_POSITION' =>
			[
				'sectionCode' => 'extra',
				'id' => 'WORK_POSITION',
				'type' => 'input',
				'title' => Loc::getMessage('WORK_POSITION')
			],
		'PERSONAL_GENDER' =>
			[
				'sectionCode' => 'extra',
				'id' => 'PERSONAL_GENDER',
				'type' => 'selector',
				'title' => Loc::getMessage('PERSONAL_GENDER'),
				'params' =>
					[
						'items' =>
							[
								[
									'value' => 'M',
									'name' => Loc::getMessage("MALE"),
								],

								[
									'value' => 'F',
									'name' => Loc::getMessage("FEMALE"),
								],
							],
					],
			],
		'PERSONAL_WWW' =>
			[
				'sectionCode' => 'extra',
				'id' => 'PERSONAL_WWW',
				'type' => 'input',
				'title' => Loc::getMessage('PERSONAL_WWW')
			],
		'WORK_PHONE' =>
			[
				'sectionCode' => 'extra',
				'id' => 'WORK_PHONE',
				'type' => 'input',
				'title' => Loc::getMessage('WORK_PHONE'),
				'params'=>["openScheme"=>"tel"]
			],
		'UF_PHONE_INNER' =>
			[
				'sectionCode' => 'extra',
				'id' => 'UF_PHONE_INNER',
				'type' => 'input',
				'title' => Loc::getMessage('UF_PHONE_INNER'),
				'params'=>["openScheme"=>"tel-inner"]
			],
		'UF_SKYPE' =>
			[
				'sectionCode' => 'extra',
				'id' => 'UF_SKYPE',
				'type' => 'input',
				'title' => Loc::getMessage('UF_SKYPE'),
				'params'=>["openScheme"=>"skype"]
			],
		'UF_TWITTER' =>
			[
				'sectionCode' => 'extra',
				'id' => 'UF_TWITTER',
				'type' => 'input',
				'title' => Loc::getMessage('UF_TWITTER')
			],
		'UF_FACEBOOK' =>
			[
				'sectionCode' => 'extra',
				'id' => 'UF_FACEBOOK',
				'type' => 'input',
				'title' => Loc::getMessage('UF_FACEBOOK'),
				'asterix' => ($region === "ru" || $region === null) ? Loc::getMessage('META_RESTRICTED_ORGANIZATION_MESSAGE'): ""
			],
		'UF_LINKEDIN' =>
			[
				'sectionCode' => 'extra',
				'id' => 'UF_LINKEDIN',
				'type' => 'input',
				'title' => Loc::getMessage('UF_LINKEDIN')
			],
		'UF_XING' =>
			[
				'sectionCode' => 'extra',
				'id' => 'UF_XING',
				'type' => 'input',
				'title' => Loc::getMessage('UF_XING')
			]
	];

	$userFields = [
		"UF_PHONE_INNER",
		"UF_SKYPE",
		"UF_TWITTER",
		"UF_FACEBOOK",
		"UF_LINKEDIN",
		"UF_XING",
		"UF_SKILLS",
		"UF_INTERESTS",
		"UF_WEB_SITES",
		"UF_DEPARTMENT"
	];

	$userFieldList= $USER_FIELD_MANAGER->GetUserFields("USER");

	foreach ($userFields as $fieldId)
	{
		if(!array_key_exists($fieldId, $userFieldList))
		{
			unset($result["fields"][$fieldId]);
		}
	}

	$result["sections"] = [
		[
			'id' => 'top',//avatar
		],
		[
			'id' => 'actions'
		],
		[
			'id' => 'main',
			'title' => Loc::getMessage("MAIN"),
		],
		[
			'id' => 'extra',
			'title' => Loc::getMessage("EXTRA"),
		]
	];

	return $result;
}