-declare -A item_name
-
-item_name[PHOTO]="Foto"
-item_name[LOGO]="Logo"
-item_name[FN]="Voller Name"
-item_name[SOUND]="Aussprache"
-item_name[GENDER]="Geschlecht"
-item_name[KIND]="Typ"
-item_name[TITLE]="Beruf"
-item_name[ROLE]="Position"
-item_name[ORG]="Organisation"
-item_name[MEMBER]="Mitglied"
-item_name[CATEGORIES]="Kategorien"
-item_name[ANNIVERSARY]="Jubiläum"
-item_name[BDAY]="Geburtstag"
-item_name[EMAIL]="E-Mail"
-item_name[TEL]="Telefon"
-item_name[IMPP]="Chat"
-item_name[ADR]="Anschrift"
-item_name[URL]="Webseite"
-item_name[LANG]="Sprache"
-item_name[NOTE]="Notiz"
-
-item_name[RELATED]="Kontakte"
-
-item_name[BEGIN]=""
-item_name[CALADRURI]=""
-item_name[CALURI]=""
-item_name[CLASS]=""
-item_name[CLIENTPIDMAP]=""
-item_name[END]=""
-item_name[FBURL]=""
-item_name[GEO]=""
-item_name[MAILER]=""
-item_name[NAME]=""
-item_name[PRODID]=""
-item_name[PROFILE]=""
-item_name[REV]=""
-item_name[SORT-STRING]=""
-item_name[SOURCE]=""
-item_name[TZ]=""
-item_name[UID]=""
-item_name[VERSION]=""
-item_name[XML]=""
-
-l10n() {
- [ -n "$item_name[$1]" ] && echo "$item_name[$1]" || echo "$1"
-}
-
view_card_item() {
case "$key" in
- BEGIN|VERSION|END);;
+ BEGIN|VERSION|END|N|NICKNAME);;
PHOTO)
echo "<img class=\"PHOTO\" src=\"data:image/$tag[TYPE];base64,$value\"/>"
;;
echo "<h2 CLASS=\"FN\">$value</h2>"
;;
*)
- echo "<span class=\"item\"><span class=\"KEY $key\">$(l10n "$key")"
- [ -n "$tag[TYPE]" ] && echo "($tag[TYPE])"
+ echo -n "<span class=\"item\"><span class=\"KEY $key\">$(l10n "$key")"
+ [ -n "$tag[TYPE]" ] && echo -n "($tag[TYPE])"
echo ":</span>"
;|
EMAIL)
- echo "<a href=\"mailto:$value\" class=\"VALUE $key\">$value</a></item>"
+ echo "<a href=\"mailto:$value\" class=\"VALUE $key\">$value</a></span>"
;;
IMPP)
- echo "<a href=\"$value\" class=\"VALUE $key\">"$(echo "$value" |cut -d: -f2-)"</a></item>"
+ echo "<a href=\"$value\" class=\"VALUE $key\">"$(echo "$value" |cut -d: -f2-)"</a></span>"
;;
*)
- echo "<span class=\"VALUE $key\">$value</span></item>"
+ echo "<span class=\"VALUE $key\">$value</span></span>"
;;
esac
}
view_attendee() { #Parameter: Cardfile
- key=""
- vcf_parse "$1" |while read -r line; do
+ cardfile="vcard/$1"
+ cachefile="cache/${1}.cache"
+ unset key
+ [ "$cachefile" -nt "$cardfile" ] && cat "$cachefile" \
+ || vcf_parse "$cardfile" |while read -r line; do
declare -A tag
case "$line" in
value*) eval "$line";;
else
view_card_item
eval "$line"
+ unset value
+ unset tag
fi
;;
esac
- done
+ done |tee "$cachefile"
}