+view_card_item() {
+ case "$key" in
+ BEGIN|VERSION|END);;
+ PHOTO)
+ echo "<img class=\"PHOTO\" src=\"data:image/$tag[TYPE];base64,$value\"/>"
+ ;;
+ FN)
+ echo "<h2 CLASS=\"FN\">$value</h2>"
+ ;;
+ *)
+ 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>"
+ ;;
+ IMPP)
+ echo "<a href=\"$value\" class=\"VALUE $key\">"$(echo "$value" |cut -d: -f2-)"</a></item>"
+ ;;
+ *)
+ echo "<span class=\"VALUE $key\">$value</span></item>"
+ ;;
+ esac
+}
+
+view_attendee() { #Parameter: Cardfile
+ cardfile="$1"
+ cachefile="cache/vcf_$(basename "$cardfile").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";;
+ tag*) eval "$line";;
+ key*)
+ if [ -z "$key" ]; then
+ eval "$line"
+ else
+ view_card_item
+ eval "$line"
+ unset value
+ unset tag
+ fi
+ ;;
+ esac
+ done |tee "$cachefile"
+}