private static function changeTreeProperties(&$export_data) { $tree_fields_info = SJB_UserProfileFieldManager::getFieldsInfoByType('tree'); foreach ($export_data as $user_sid => $property) { $userGroupSID = (int) SJB_UserGroupManager::getUserGroupSIDByName(SJB_Array::get($property[self::USER_OPTIONS_INDEX], 'user_group_id')); foreach ($tree_fields_info 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])) { $treeValue = SJB_Array::get($property, $fieldID); if (!empty($treeValue)) { $tree_values = explode(',', $treeValue); $tree_display_value = array(); foreach ($tree_values as $value) { $display_value = SJB_UserProfileFieldManager::getTreeDisplayValueBySID($value); if (!empty($display_value)) { $tree_display_value = array_unique(array_merge($tree_display_value, $display_value)); $export_data[$user_sid][$fieldID] = implode(',', $tree_display_value); } } } } } } }