in app/Services/VCard/ExportVCard.php [210:245]
private function exportContactFields(Contact $contact, VCard $vcard)
{
foreach ($contact->contactFields as $contactField) {
$type = $this->getContactFieldLabel($contactField);
switch ($contactField->contactFieldType->type) {
case ContactFieldType::PHONE:
$vcard->add('TEL', $this->escape($contactField->data), $type);
break;
case ContactFieldType::EMAIL:
$vcard->add('EMAIL', $this->escape($contactField->data), $type);
break;
default:
break;
}
switch ($contactField->contactFieldType->name) {
// See https://tools.ietf.org/id/draft-george-vcarddav-vcard-extension-02.html
case 'Facebook':
$vcard->add('socialProfile', $this->escape('https://www.facebook.com/'.$contactField->data), ['type' => 'facebook']);
break;
case 'Twitter':
$vcard->add('socialProfile', $this->escape('https://twitter.com/'.$contactField->data), ['type' => 'twitter']);
break;
case 'Whatsapp':
$vcard->add('socialProfile', $this->escape('https://wa.me/'.$contactField->data), ['type' => 'whatsapp']);
break;
case 'Telegram':
$vcard->add('socialProfile', $this->escape('http://t.me/'.$contactField->data), ['type' => 'telegram']);
break;
case 'LinkedIn':
$vcard->add('socialProfile', $this->escape('http://www.linkedin.com/in/'.$contactField->data), ['type' => 'linkedin']);
break;
default:
break;
}
}
}