Das Package erlaubt die Erzeugung und das Einlesen von elektronischen Visitenkarten gemäß des vCard-Standards der Versionen 2.1 oder 3.0.
Installieren Sie Contact_Vcard_Build von PEAR.
Inkludieren Sie Contact_Vcard_Build.php in Ihrem PHP-Skript.
Erzeugen Sie ein neues Contact_Vcard_Build-Objekt, standardmäßig behandelt es vCard-Version 3.0, die Version 2.1 wird aber ebenfalls unterstützt.
Setzen oder ergänzen Sie die Parameter, die Sie in der vCard benötigen.
Holen Sie die vollständige vCard, und verwenden Sie print_r() um sich ihren Inhalt anzuschauen.
Beispiel-Code
<?php
// Die Klassendatei inkludieren
require_once 'Contact_Vcard_Build.php';
// Neues Objekt erzeugen für Version 3.0
$vcard = new Contact_Vcard_Build();
// Einen formatierten Namen angeben
$vcard->setFormattedName('Bolivar Shagnasty');
// Den Namen in strukturierter Form übergeben
$vcard->setName('Shagnasty', 'Bolivar', 'Odysseus',
'Mr.', 'III');
// Ergänzen einer Email-Adresse am Arbeitsplatz. Beachten Sie, dass
// die Adresse zuerst und dann ihre Bedeutung übergeben --
// Contact_Vcard_Build ist clever genug beide Eigenschaften
// zusammen zu führen.
$vcard->addEmail('[email protected]');
$vcard->addParam('TYPE', 'WORK');
// Ergänzen einer heimatlichen Email-Adresse, die auch bevorzugt
// verwendet werden soll
$vcard->addEmail('[email protected]');
$vcard->addParam('TYPE', 'HOME');
$vcard->addParam('TYPE', 'PREF');
// Ergänzen einer Arbeitsaddresse
$vcard->addAddress('POB 101', 'Suite 202', '123 Main',
'Beverly Hills', 'CA', '90210', 'US');
$vcard->addParam('TYPE', 'WORK');
// Holen der vCard und die Ausgabe des Inhalts
$text = $vcard->fetch();
echo '<pre>';
print_r($text);
echo '</pre>';
?>
Die 2.1-Spezifikation benutzt CRLF um Zeilen zu beenden (\r\n). Folgende Komponenten und Parameter sind erlaubt:
Parameter:
TYPE darf sein DOM, INTL, POSTAL, PARCEL, HOME, WORK, PREF, VOICE, FAX, MSG, CELL, PAGER, BBS, MODEM, CAR, ISDN, VIDEO, AOL, APPLELINK, ATTMAIL, CIS, EWORLD, INTERNET, IBMMAIL, MCIMAIL, POWERSHARE, PRODIGY, TLX, X400, GIF, CGM, WMF, BMP, MET, PMB, DIB, PICT, TIFF, PDF, PS, JPEG, QTIME, MPEG, MPEG2, AVI, WAVE, AIFF, PCM, X509, oder PGP.
ENCODING darf sein 7BIT, 8BIT, BASE64, QUOTED-PRINTABLE
VALUE darf sein INLINE, CONTENT-ID, CID, URL, VCARD
CHARSET darf jede ISO-Zeichensatz sein.
LANGUAGE darf jeden Wert enthalten, der die Zeichen a-z, A-Z, 0-9 und Strich (-) enthält.
Komponenten und zugeordnete Methoden
VERSION (setVersion())
FN (setFormattedName())
N (setName())
PHOTO (setPhoto())
BDAY (setBirthday())
ADR (addAddress())
LABEL (addLabel())
TEL (addTelephone())
EMAIL (addEmail())
MAILER (setMailer())
TZ (setTZ())
GEO (setGeo())
TITLE (setTitle())
ROLE (setRole())
LOGO (setLogo())
AGENT (setAgent())
ORG (addOrganization())
NOTE (setNote())
REV (setRevision())
SOUND (setSound())
URL (setURL())
KEY (setKey())
Die 3.0-Spezifikation benutzt nur LF um Zeilen zu beenden (\n). Folgende Komponenten und Parameter sind erlaubt:
Parameter:
TYPE darf jeden der 2.1 TYPE-Parameter aufnehmen und jeden anderen Wert solange er nur die Zeichen a-z, A-Z, 0-9 und Strich (-) enthält.
ENCODING darf 8BIT und B ("binary") sein.
VALUE darf sein BINARY, PHONE-NUMBER, TEXT, URI, UTC-OFFSET oder VCARD.
Komponenten und Methoden:
VERSION (setVersion())
FN (setFormattedName())
N (setName())
NAME (setSourceName())
SOURCE (setSource())
NICKNAME (addNickname())
PHOTO (setPhoto())
BDAY (setBirthday())
ADR (addAddress())
LABEL (addLabel())
TEL (addTelephone())
EMAIL (addEmail())
MAILER (setMailer())
TZ (setTZ())
GEO (setGeo())
TITLE (setTitle())
ROLE (setRole())
LOGO (setLogo())
AGENT (setAgent())
ORG (addOrganization())
CATEGORIES (addCategories())
NOTE (setNote())
PRODID (setProductID())
REV (setRevision())
SORT-STRING (setSortString())
SOUND (setSound())
UID (setUniqueID())
URL (setURL())
CLASS (setClass())
KEY (setKey())