private static function changeListProperties(&$export_data) { $listFieldsInfo = SJB_UserProfileFieldManager::getFieldsInfoByType('list'); $multilistFieldsInfo = SJB_UserProfileFieldManager::getFieldsInfoByType('multilist'); $fieldsInfo = array_merge($listFieldsInfo, $multilistFieldsInfo); foreach ($export_data as $user_sid => $property) { $userGroupSID = (int) SJB_UserGroupManager::getUserGroupSIDByName(SJB_Array::get($property[self::USER_OPTIONS_INDEX], 'user_group_id')); foreach ($fieldsInfo as $field_info) { $fieldID = SJB_Array::get($field_info, 'id'); $fieldUserGroupSID = (int) SJB_Array::get($field_info, 'user_group_sid'); if ($fieldUserGroupSID === $userGroupSID && !empty($property[$fieldID])) { $fieldInfo = SJB_UserProfileFieldManager::getFieldInfoBySID($field_info['sid']); switch ($fieldInfo['type']) { case 'list': foreach ($fieldInfo['list_values'] as $listValues) { if ($listValues['id'] == $property[$field_info['id']]) { $export_data[$user_sid][$field_info['id']] = $listValues['caption']; break; } } break; case 'multilist': $multilistValues = explode(',', $property[$field_info['id']]); $multilistDisplayValues = array(); foreach ($fieldInfo['list_values'] as $listValues) { if (in_array($listValues['id'], $multilistValues)) { $multilistDisplayValues[] = $listValues['caption']; } } $export_data[$user_sid][$field_info['id']] = implode(',', $multilistDisplayValues); break; } } } } }