function addressfield_field_presave in Address Field 7
Implements hook_field_presave().
1 call to addressfield_field_presave()
- addressfield_field_load in ./
addressfield.module - Implements hook_field_load().
File
- ./
addressfield.module, line 479 - Defines a field for attaching country-specific addresses to entities.
Code
function addressfield_field_presave($entity_type, $entity, $field, $instance, $langcode, &$items) {
foreach ($items as $delta => &$item) {
// If the first name and last name are set but the name line isn't...
if (isset($item['first_name']) && isset($item['last_name']) && !isset($item['name_line'])) {
// Combine the first and last name to be the name line.
$items[$delta]['name_line'] = $items[$delta]['first_name'] . ' ' . $items[$delta]['last_name'];
}
elseif (isset($item['name_line'])) {
// Otherwise if the name line is set, separate it out into a best guess at
// the first and last name.
$names = explode(' ', $item['name_line']);
$item['first_name'] = array_shift($names);
$item['last_name'] = implode(' ', $names);
}
// Trim whitespace from all of the address components and convert any double
// spaces to single spaces.
foreach ($item as $key => &$value) {
if (!in_array($key, array(
'data',
)) && is_string($value)) {
$value = trim(preg_replace('/[[:blank:]]{2,}/u', ' ', $value));
}
}
}
}