]> git.plutz.net Git - confetti/blob - templates/view_attendee.sh
1e02e3db017c1845f1a753927c91d73e8029ccbd
[confetti] / templates / view_attendee.sh
1 declare -A item_name
2
3 item_name[PHOTO]="Foto"
4 item_name[LOGO]="Logo"
5 item_name[FN]="Voller Name"
6 item_name[SOUND]="Aussprache"
7 item_name[GENDER]="Geschlecht"
8 item_name[KIND]="Typ"
9 item_name[TITLE]="Beruf"
10 item_name[ROLE]="Position"
11 item_name[ORG]="Organisation"
12 item_name[MEMBER]="Mitglied"
13 item_name[CATEGORIES]="Kategorien"
14 item_name[ANNIVERSARY]="Jubiläum"
15 item_name[BDAY]="Geburtstag"
16 item_name[EMAIL]="E-Mail"
17 item_name[TEL]="Telefon"
18 item_name[IMPP]="Chat"
19 item_name[ADR]="Anschrift"
20 item_name[URL]="Webseite"
21 item_name[LANG]="Sprache"
22 item_name[NOTE]="Notiz"
23
24 item_name[RELATED]="Kontakte"
25
26 item_name[BEGIN]=""
27 item_name[CALADRURI]=""
28 item_name[CALURI]=""
29 item_name[CLASS]=""
30 item_name[CLIENTPIDMAP]=""
31 item_name[END]=""
32 item_name[FBURL]=""
33 item_name[GEO]=""
34 item_name[MAILER]=""
35 item_name[NAME]=""
36 item_name[PRODID]=""
37 item_name[PROFILE]=""
38 item_name[REV]=""
39 item_name[SORT-STRING]=""
40 item_name[SOURCE]=""
41 item_name[TZ]=""
42 item_name[UID]=""
43 item_name[VERSION]=""
44 item_name[XML]=""
45
46 l10n() {
47   [ -n "$item_name[$1]" ] && echo -n "$item_name[$1]" || echo -n "$1"
48 }
49
50 view_card_item() {
51   case "$key" in
52     BEGIN|VERSION|END);;
53     PHOTO)
54       echo "<img class=\"PHOTO\" src=\"data:image/$tag[TYPE];base64,$value\"/>"
55       ;;
56     FN)
57       echo "<h2 CLASS=\"FN\">$value</h2>"
58       ;;
59     *)
60       echo -n "<span class=\"item\"><span class=\"KEY $key\">$(l10n "$key")"
61       [ -n "$tag[TYPE]" ] && echo -n "($tag[TYPE])"
62       echo ":</span>"
63       ;|
64     EMAIL)
65       echo "<a href=\"mailto:$value\" class=\"VALUE $key\">$value</a></item>"
66       ;;
67     IMPP)
68       echo "<a href=\"$value\" class=\"VALUE $key\">"$(echo "$value" |cut -d: -f2-)"</a></item>"
69       ;;
70     *)
71       echo "<span class=\"VALUE $key\">$value</span></item>"
72       ;;
73   esac
74 }
75
76 view_attendee() {  #Parameter: Cardfile
77   cardfile="$1"
78   cachefile="cache/vcf_$(basename "$cardfile").cache"
79   unset key
80   [ "$cachefile" -nt "$cardfile" ] && cat "$cachefile" \
81   || vcf_parse "$cardfile" |while read -r line; do
82     declare -A tag
83     case "$line" in
84       value*) eval "$line";;
85       tag*)   eval "$line";;
86       key*)
87         if [ -z "$key" ]; then
88           eval "$line"
89         else
90           view_card_item
91           eval "$line"
92           unset value
93           unset tag
94         fi
95       ;;
96     esac
97   done |tee "$cachefile"
98 }