You are here

function date_repeat_field_field_widget_form_alter in Date 7.3

Same name and namespace in other branches
  1. 8 date_repeat_field/date_repeat_field.module \date_repeat_field_field_widget_form_alter()
  2. 7.2 date_repeat_field/date_repeat_field.module \date_repeat_field_field_widget_form_alter()

Implements hook_field_widget_form_alter().

File

date_repeat_field/date_repeat_field.module, line 267
Creates the option of Repeating Date fields and manages Date Repeat fields.

Code

function date_repeat_field_field_widget_form_alter(&$element, &$form_state, $context) {
  $field = $context['field'];
  $instance = $context['instance'];
  $items = $context['items'];
  $delta = $context['delta'];
  if (in_array($field['type'], array(
    'date',
    'datetime',
    'datestamp',
  ))) {
    if (!empty($field['settings']['repeat'])) {
      $element['#element_validate'][] = 'date_repeat_field_widget_validate';
      $element['show_repeat_settings'] = array(
        '#type' => 'checkbox',
        '#title' => t('Repeat'),
        '#weight' => $instance['widget']['weight'] + 0.3,
        '#prefix' => '<div class="date-clear">',
        '#suffix' => '</div>',
        '#default_value' => isset($items[$delta]['rrule']) && !empty($items[$delta]['rrule']) ? 1 : 0,
      );

      // Make changes if instance is set to be rendered as a regular field.
      if (!empty($instance['widget']['settings']['no_fieldset'])) {
        $element['#title'] = check_plain($instance['label']);
        $element['#description'] = field_filter_xss($instance['description']);
        $element['#theme_wrappers'] = array(
          'date_form_element',
        );
      }
    }
  }
}