function share42_field_extra_fields in Share42 - social sharing buttons 7.2
Implements hook_field_extra_fields().
3 calls to share42_field_extra_fields()
- share42_form_field_ui_display_overview_form_alter in ./
share42.module - Implements hook_form_FORM_ID_alter().
- _share42_field_formatter_settings_form in ./
share42.module - Pseudo hook_field_formatter_settings_form().
- _share42_field_formatter_settings_summary in ./
share42.module - Pseudo hook_field_formatter_settings_summary().
File
- ./
share42.module, line 81 - Main file for the Share42 module.
Code
function share42_field_extra_fields($get_defaults = FALSE) {
$defaults = array(
'label' => t('Share42'),
'description' => t('Share42 widget.'),
'weight' => 100,
'settings' => array(
'image_field' => 'field_image',
'image_style' => 'thumbnail',
'description' => '',
),
);
if ($get_defaults) {
return array(
'extra_fields' => array(
'display' => array(
'share42' => $defaults,
),
),
);
}
$extra = array();
foreach (entity_get_info() as $entity_type => $entity_info) {
foreach (array_keys($entity_info['bundles']) as $bundle) {
$extra[$entity_type][$bundle]['display']['share42'] = $defaults;
// Hide it by default (if there is no info about our extra field in field bundle settings).
$field_bundle_setting = field_bundle_settings($entity_type, $bundle);
if (empty($field_bundle_setting['extra_fields']['display']['share42'])) {
// Prepare all entity type view modes.
$view_modes = array_keys($entity_info['view modes']);
if (!in_array('default', $view_modes)) {
$view_modes[] = 'default';
}
foreach ($view_modes as $view_mode) {
$field_bundle_setting['extra_fields']['display']['share42'][$view_mode] = array(
'visible' => FALSE,
'weight' => $defaults['weight'],
);
}
field_bundle_settings($entity_type, $bundle, $field_bundle_setting);
}
}
}
return $extra;
}