'render'));
return '
' . render($out) . '
';
}
/**
* Implements theme_field();
*
* Themes an address field into "city state, country"
*/
function theme_addressfield_formatter__citystate($vars) {
$loc = $vars['address'];
// Determine which location components to render
$out = array();
if (!empty($loc['locality'])) {
$out[] = $loc['locality'];
}
if (!empty($loc['administrative_area'])) {
$out[] = $loc['administrative_area'];
}
if ($loc['country'] != addressfield_tokens_default_country() && $country_name = _addressfield_tokens_country($loc['country'])) {
$out[] = $country_name;
}
// If there's no location, render an alternate
if (empty($out)) {
return '';
}
// Render the location components
$output = '' . implode(', ', $out) . '';
return $output;
}
/**
* Implements theme_field();
*
* Themes an address field into "name, street1, street2, city state zip country"
*/
function theme_addressfield_formatter__linear($vars) {
$loc = $vars['address'];
// If single line name is empty, construct it from first and last name.
if (empty($loc['name_line'])) {
$parts = array();
if (!empty($loc['first_name'])) {
$parts[] = $loc['first_name'];
}
if (!empty($loc['last_name'])) {
$parts[] = $loc['last_name'];
}
$loc['name_line'] = join(' ', $parts);
}
// Determine which location components to render
$out = array();
if (!empty($loc['name_line']) && $vars['name_line']) {
$out[] = $loc['name_line'];
}
if (!empty($loc['organisation_name']) && $vars['organisation_name']) {
$out[] = $loc['organisation_name'];
}
if (!empty($loc['thoroughfare'])) {
$out[] = $loc['thoroughfare'];
}
if (!empty($loc['premise']) && $vars['premise']) {
$out[] = $loc['premise'];
}
if (!empty($loc['locality'])) {
$out[] = $loc['locality'];
}
if (!empty($loc['administrative_area'])) {
$out[] = $loc['administrative_area'];
}
if (!empty($loc['postal_code'])) {
$out[] = $loc['postal_code'];
}
if ($loc['country'] != addressfield_tokens_default_country() && $country_name = _addressfield_tokens_country($loc['country'])) {
$out[] = $country_name;
}
// Render the location components
$output = implode(', ', $out);
return $output;
}
function theme_addressfield_formatter__components($vars) {
$loc = $vars['address'];
$components = $vars['components'];
$separator = $vars['separator'];
$out = array();
foreach ($components as $key) {
if (!empty($loc[$key])) {
$out[$key] = $loc[$key];
}
elseif ($key == 'country_full' && !empty($loc['country'])) {
$out[$key] = _addressfield_tokens_country($loc['country']);
}
elseif ($key == 'administrative_area_full' && !empty($loc['country']) && !empty($loc['administrative_area'])) {
$out[$key] = addressfield_tokens_state($loc['country'], $loc['administrative_area']);
}
}
return implode($separator, $out);
}