- Модуль: rest
- Путь к файлу: ~/bitrix/modules/rest/lib/api/user.php
- Класс: BitrixRestApiUser
- Вызов: User::prepareSaveData
static function prepareSaveData($userData, $allowedUserFields = null)
{
global $USER_FIELD_MANAGER;
$user = array();
if (!$allowedUserFields)
{
$allowedUserFields = static::getDefaultAllowedUserFields();
}
$userId = (int) $userData['ID'];
$fieldsList = $USER_FIELD_MANAGER->getUserFields('USER', $userId, LANGUAGE_ID);
foreach ($userData as $key => $value)
{
if (in_array($key, $allowedUserFields, true))
{
if (mb_strpos($key, static::$nameFieldFullPrefix) === 0)
{
$user[$key] = static::prepareUserField($fieldsList[$key], $value);
}
else
{
$user[$key] = $value;
}
}
}
if (isset($user['ACTIVE']))
$user['ACTIVE'] = ($user['ACTIVE'] && $user['ACTIVE'] != 'N') ? 'Y' : 'N';
if (isset($user['PERSONAL_BIRTHDAY']))
$user['PERSONAL_BIRTHDAY'] = CRestUtil::unConvertDate($user['PERSONAL_BIRTHDAY']);
if (isset($user['UF_DEPARTMENT']) && !is_array($user['UF_DEPARTMENT']) && !empty($user['UF_DEPARTMENT']))
$user['UF_DEPARTMENT'] = array($user['UF_DEPARTMENT']);
if (isset($user['PERSONAL_PHOTO']))
{
$user['PERSONAL_PHOTO'] = CRestUtil::saveFile($user['PERSONAL_PHOTO']);
if (!$user['PERSONAL_PHOTO'])
{
$user['PERSONAL_PHOTO'] = array('del' => 'Y');
}
}
$user = array_diff_key($user, array_fill_keys(static::$holdEditFields, 'Y'));
return $user;
}