function cck_phone_field_widget_form in Phone Number 7
Implements hook_field_widget_form().
File
- ./
cck_phone.module, line 634 - Defines phone number fields for CCK. Provide some verifications on the phone numbers
Code
function cck_phone_field_widget_form(&$form, &$form_state, $field, $instance, $langcode, $items, $delta, $element) {
// Retrieve any values set in $form_state, as will be the case during AJAX
// rebuilds of this form.
if (isset($form_state['values'][$field['field_name']][$langcode])) {
$items = $form_state['values'][$field['field_name']][$langcode];
unset($form_state['values'][$field['field_name']][$langcode]);
}
foreach ($items as $delta => $item) {
// Remove any items from being displayed that are not needed.
if (!isset($item['number']) || $item['number'] == '') {
unset($items[$delta]);
}
}
// Re-index deltas after removing empty items.
$items = array_values($items);
// Update order according to weight.
$items = _field_sort_items($field, $items);
// Essentially we use the phone_number type, extended with some enhancements.
$element_info = element_info('phone_number');
$element += array(
'#type' => 'phone_number',
'#default_value' => isset($items[$element['#delta']]) ? $items[$element['#delta']] : array(),
'#process' => array_merge($element_info['#process'], array(
'cck_phone_field_widget_process',
)),
);
return $element;
}