You are here

function metatags_quick_field_widget_form in Meta tags quick 7.2

Same name and namespace in other branches
  1. 7 metatags_quick.module \metatags_quick_field_widget_form()

Implements hook_field_widget_form().

File

./metatags_quick.module, line 524
Quick and dirty implementation of meta tags for drupal 7 Module defines new field type 'meta'. Fields of this type are not displayed in HTML. Instead, they add html meta to the head section.

Code

function metatags_quick_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $base) {
  $element = $base;
  switch ($instance['widget']['type']) {
    case 'metatags_quick_textfield':
      $addition = array(
        '#type' => 'textfield',
        '#maxlength' => isset($field['settings']['max_length']) ? $field['settings']['max_length'] : variable_get('metatags_quick_default_field_length', 255),
        '#default_value' => isset($items[$delta]['metatags_quick']) ? $items[$delta]['metatags_quick'] : NULL,
      );
      break;
    case 'metatags_quick_checkboxes':
      if (!isset($items[$delta]['metatags_quick'])) {
        $items[$delta]['metatags_quick'] = $instance['default_value'][0]['metatags_quick'];
      }
      if (isset($items[$delta]['metatags_quick']) && !is_array($items[$delta]['metatags_quick'])) {
        $items[$delta]['metatags_quick'] = explode(',', $items[$delta]['metatags_quick']);
      }
      if ($items[$delta]['metatags_quick'] === NULL) {
        $default_checkboxes = explode(',', $instance['settings']['options']);
        $items[$delta]['metatags_quick'] = array_fill_keys($default_checkboxes, '');
      }
      $addition = array(
        '#type' => 'checkboxes',
        '#options' => drupal_map_assoc(isset($instance['settings']['options']) ? explode(',', $instance['settings']['options']) : array(
          'noindex',
          'nofollow',
        )),
        '#default_value' => $items[$delta]['metatags_quick'],
      );
      break;
    default:
      $addition = array(
        '#type' => 'textarea',
        '#default_value' => isset($items[$delta]['metatags_quick']) ? $items[$delta]['metatags_quick'] : NULL,
        '#rows' => 5,
      );
  }
  $element['metatags_quick'] = $base + $addition;
  return $element;
}