function metatags_quick_field_widget_form in Meta tags quick 7.2
Same name and namespace in other branches
- 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;
}