function social_profile_fields_social_user_export_plugin_info_alter in Open Social 10.2.x
Same name and namespace in other branches
- 8.9 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 8.3 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 8.4 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 8.5 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 8.6 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 8.7 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 8.8 modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 10.3.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 10.0.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
- 10.1.x modules/social_features/social_profile/modules/social_profile_fields/social_profile_fields.module \social_profile_fields_social_user_export_plugin_info_alter()
Remove user export plugins for fields which are disabled.
Parameters
array $plugins: An array of all the existing plugin definitions, passed by reference.
See also
\Drupal\social_user_export\UserExportPluginManager
File
- modules/
social_features/ social_profile/ modules/ social_profile_fields/ social_profile_fields.module, line 316 - The social profile fields module file.
Code
function social_profile_fields_social_user_export_plugin_info_alter(array &$plugins) {
/** @var \Drupal\profile\Entity\ProfileType $profile_type */
foreach (ProfileType::loadMultiple() as $profile_type) {
$type = $profile_type
->id();
$profile_fields = \Drupal::service('social_profile_fields.helper')
->getProfileFields($type);
$filtered = array_filter($profile_fields, function ($arr) {
return $arr['id'] === 'profile_profile_field_profile_address';
});
if (!empty($filtered) || array_key_exists('profile_profile_field_profile_address', $profile_fields)) {
$profile_fields[] = [
'id' => 'profile_address_field_city',
];
$profile_fields[] = [
'id' => 'profile_address_field_address',
];
$profile_fields[] = [
'id' => 'profile_address_field_postalcode',
];
$profile_fields[] = [
'id' => 'profile_address_field_administrative_area',
];
}
foreach ($profile_fields as $field) {
$config = \Drupal::config('social_profile_fields.settings');
$setting_value = $config
->get($field['id']);
if (isset($setting_value) && !$setting_value) {
$plugin_ids_for_fields = \Drupal::service('social_profile_fields.helper')
->getUserExportPluginIdForField($field['id']);
if (!empty($plugin_ids_for_fields)) {
foreach ($plugin_ids_for_fields as $plugin_id) {
if ($plugins[$plugin_id]) {
unset($plugins[$plugin_id]);
}
}
}
}
}
}
}