Hallo Thomas,
mit deiner Bemerkung
...manchmal jedoch nicht...
deutest Du an, dass Programm würde "willkürlich" die Namen konvertieren - das ist natürlich nicht so.
carddavfb konvertiert straight forward! Oder anders gesagt (so leid es mir tut): es liegt an den Umsetzungsregeln oder mehr noch an Deinen Daten aus OwnCloud.
Ich will das mal bei dieser Gelegenheit ausführlicher erklären:
vCards (3.0) haben vier Felder (properties) mit Namensbezug:
- FN: fullname - idealerweise mit einem String, welcher dem ausgesprochenem/-geschrieben Namen entspricht
gute CardDAV-Clients übernehmen entweder den Inhalt aus ORG oder aber (in der richtigen Reihenfolge) die Teile aus N hier hinein.
- N: Namensteile mit Semikolon getrennt: NACHNAME;VORNAME;WEITERE_VORNAMEN(INITIALEN);PREFIXE;SUFFIXE
- NICKNAME
- ORG
Randbemerkung: Beim Einlesen vom CardDAV-Server nehmen wir die Namensbestandteile von
N in eigene Felder. Das findest du in der Backend.php (und dient nur dem einfacheren Handling im weiteren Programmverlauf).
Nun zur config.php:
PHP:
/**
* 'realName' conversions are processed consecutively. Order decides!
*/
'realName' => [
'{lastname}, {prefix} {nickname}',
'{lastname}, {prefix} {firstname}',
'{lastname}, {nickname}',
'{lastname}, {firstname}',
'{org}',
'{fullname}'
],
Die Programmlogik, um das XML-Feld
<realName>
zu füllen macht genau das, was im Kommentar steht:
carddav2fb prüft der Reihe nach, ob Inhalte der vorgegebenen properies (zwischen den {}) vorhanden sind. Wenn ja, wird es entsprechend dem Muster in
<realName>
übernommen.
Also, wenn deine vCard z.B. so aussieht:
Code:
BEDIN:VCARD
...
FN:Erika Mustermann
N:Mustermann;Erika;Hildegunst;;
NICKNAME:Rike
ORG:Bundesdruckerei
...
END:VCARD
Dann wird "Mustermann, Rike" in <realName> übernommen, weil das dritte Muster von oben passt.
Wenn z.B. aus dem property
N kein Vor- und Nachname extrahiert werden konnte (weil die ersten beiden Semikolon-getrennten Segmente ganz oder teilweise fehlen), dann wird der Wert aus
ORG übernommen, wenn auch dort nichts drin steht, dann wird der Inhalt aus
FN übernommen (und wenn da auch nix steht, dann gibts ´ne Fehlermeldung).
Meine Empfehlung ist daher, dass du die Kontakte, welche nicht wie gewünscht in der FRITZ!Box ankommen, dir einmal kritisch in der OwnCloud ansiehst, und ggf. dort korrigierst.
+++Ergänzung;+++
Wenn Du Dir die Kontakte in VCF-Format ansehen möchtest: mit
./carddav2fb download -fd owncloud.vcf
schreibt
carddav2fb die heruntergeladenen Daten in owncloud.vcf.
Grüße
Black Senator