+--------------------------------------------------------------------+
| CiviCRM version 4.7 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2016 |
+ | Copyright CiviCRM LLC (c) 2004-2017 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
* Address Utilities
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2016
+ * @copyright CiviCRM LLC (c) 2004-2017
*/
class CRM_Utils_Address {
$emptyFields = array(
'supplemental_address_1',
'supplemental_address_2',
+ 'supplemental_address_3',
'state_province_name',
'county',
);
'contact.street_address' => CRM_Utils_Array::value('street_address', $fields),
'contact.supplemental_address_1' => CRM_Utils_Array::value('supplemental_address_1', $fields),
'contact.supplemental_address_2' => CRM_Utils_Array::value('supplemental_address_2', $fields),
+ 'contact.supplemental_address_3' => CRM_Utils_Array::value('supplemental_address_3', $fields),
'contact.city' => CRM_Utils_Array::value('city', $fields),
'contact.state_province_name' => CRM_Utils_Array::value('state_province_name', $fields),
'contact.county' => CRM_Utils_Array::value('county', $fields),
'contact.street_address' => "<span class=\"street-address\">" . $fields['street_address'] . "</span>",
'contact.supplemental_address_1' => "<span class=\"extended-address\">" . $fields['supplemental_address_1'] . "</span>",
'contact.supplemental_address_2' => $fields['supplemental_address_2'],
+ 'contact.supplemental_address_3' => $fields['supplemental_address_3'],
'contact.city' => "<span class=\"locality\">" . $fields['city'] . "</span>",
'contact.state_province_name' => "<span class=\"region\">" . $fields['state_province_name'] . "</span>",
'contact.county' => "<span class=\"region\">" . $fields['county'],
'street_address',
'supplemental_address_1',
'supplemental_address_2',
+ 'supplemental_address_3',
'city',
'county',
'state_province',
$addressFields = array();
foreach ($addressParts as $name => $field) {
- $addressFields[$name] = CRM_Utils_Array::value($field, $params);
+ $value = CRM_Utils_Array::value($field, $params);
+ $alternateName = 'billing_' . $name . '_id-' . $billingLocationTypeID;
+ $alternate2 = 'billing_' . $name . '-' . $billingLocationTypeID;
+ if (isset($params[$alternate2]) && !isset($params[$alternateName])) {
+ $alternateName = $alternate2;
+ }
+ //Include values which prepend 'billing_' to country and state_province.
+ if (CRM_Utils_Array::value($alternateName, $params)) {
+ if (empty($value) || !is_numeric($value)) {
+ $value = $params[$alternateName];
+ }
+ }
+ if (is_numeric($value) && ($name == 'state_province' || $name == 'country')) {
+ if ($name == 'state_province') {
+ $addressFields[$name] = CRM_Core_PseudoConstant::stateProvinceAbbreviation($value);
+ }
+ if ($name == 'country') {
+ $addressFields[$name] = CRM_Core_PseudoConstant::countryIsoCode($value);
+ }
+ }
+ else {
+ $addressFields[$name] = $value;
+ }
}
return CRM_Utils_Address::format($addressFields);
}