You are here

function _partial_date_field_formatter_settings_form in Partial Date 7

Implements hook_field_formatter_settings_form().

1 call to _partial_date_field_formatter_settings_form()
partial_date_field_formatter_settings_form in ./partial_date.module
Implements hook_field_formatter_settings_form().

File

./partial_date.pages.inc, line 11
Page and form callbacks for handling the date format.

Code

function _partial_date_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $element = array();
  $element['use_override'] = array(
    '#title' => t('Use date descriptions rather than date'),
    '#type' => 'radios',
    '#default_value' => $settings['use_override'],
    '#required' => TRUE,
    '#options' => partial_date_txt_override_options(),
    '#description' => t('This setting allows date values to be replaced with user specified date descriptions, if applicable. This will use the first non-empty value.'),
  );
  $format = empty($settings['format']) ? 'short' : $settings['format'];
  $element['format'] = array(
    '#title' => t('Date format'),
    '#type' => 'select',
    '#default_value' => $format,
    '#required' => TRUE,
    '#options' => partial_date_format_types(TRUE),
    '#id' => 'partial-date-format-selector',
    '#attached' => array(
      'js' => array(
        drupal_get_path('module', 'partial_date') . '/partial-date-admin.js',
      ),
    ),
    '#description' => t('You can use any of the predefined partial date formats, (!configure), or define the custom settings for this display by choosing %custom.', array(
      '%custom' => t('Custom'),
      '!configure' => l(t('configure'), 'admin/config/regional/date-time/partial-date-formats', array(
        'attributes' => array(
          'target' => '_blank',
        ),
      )),
    )),
  );

  // Defaults to the short partial date format
  if (empty($settings['component_settings'])) {
    $settings['component_settings'] = partial_date_format_settings($format);
  }
  $element['component_settings'] = partial_date_type_format_elements($settings['component_settings'], $field, $instance, $view_mode);
  $element['component_settings']['#tree'] = TRUE;
  $element['component_settings']['#prefix'] = '<div id="partial-date-custom-component-settings" class="' . $format . '">';
  $element['component_settings']['#suffix'] = '</div>';
  return $element;
}