/** * Helper function to set an address in vObject */ protected function setVCardAddress($vCard, $addressType, &$contactProperties, $propertyPrefix) { $this->logger->trace("setVCardAddress - {$addressType}"); $p = $this->bridge->getExtendedProperties(); $address = array(); if (isset($contactProperties[$p[$propertyPrefix . "_address"]])) { $address[] = ''; // post office box $address[] = ''; // extended address $address[] = isset($contactProperties[$p[$propertyPrefix . '_address_street']]) ? $contactProperties[$p[$propertyPrefix . '_address_street']] : ''; $address[] = isset($contactProperties[$p[$propertyPrefix . '_address_city']]) ? $contactProperties[$p[$propertyPrefix . '_address_city']] : ''; $address[] = isset($contactProperties[$p[$propertyPrefix . '_address_state']]) ? $contactProperties[$p[$propertyPrefix . '_address_state']] : ''; $address[] = isset($contactProperties[$p[$propertyPrefix . '_address_postal_code']]) ? $contactProperties[$p[$propertyPrefix . '_address_postal_code']] : ''; $address[] = isset($contactProperties[$p[$propertyPrefix . '_address_country']]) ? $contactProperties[$p[$propertyPrefix . '_address_country']] : ''; } $address = implode(';', $address); if ($address != ';;;;;;') { $this->logger->trace("Not empty address - adding {$address}"); $element = new Sabre_VObject_Property('ADR'); $element->setValue($address); $element->offsetSet('TYPE', $addressType); $vCard->add($element); } }