private function exportContactFields()

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;
            }
        }
    }