print_card() { echo '
' echo ' '$values[FN]'' [ -n "$value[GENDER]" ] && \ echo ' '$(l10n $values[GENDER])'' for n in NICKNAME NICKNAME{0..10}; do [ -n "$values[$n]" ] &&\ echo ' aka. '$values[$n]'' done [ -n "$values[BDAY]" ] &&\ echo ' *: '$values[BDAY]'' if [ -n "$values[SOUND]" ]; then echo ' ' fi [ -n "$values[PHOTO]" ] &&\ echo ' ' [ -n "$values[LOGO]" ] &&\ echo ' ' echo '
' echo '' echo '
' echo ' '$(l10n TEL)'' for n in TEL TEL{0..10}; do [ -n "$values[$n]" ] &&\ echo ' '$tags[${n}_TYPE]' '$values[$n]'' done echo '
' echo '' echo '
' [ -n "$values[EMAIL]" ] && \ echo ' '$(l10n EMAIL)'' for n in EMAIL EMAIL{0..10}; do [ -n "$values[$n]" ] &&\ echo ' '$values[$n]'' done [ -n "$values[IMPP]" ] && \ echo ' '$(l10n IMPP)'' for n in IMPP IMPP{0..10}; do [ -n "$values[$n]" ] &&\ echo ' '$tags[${n}_TYPE]' '$values[$n]'' done echo '
' echo '' echo '
' echo ' '$(l10n ADR)'' for n in ADR ADR{0..10}; do [ -n "$values[$n]" ] &&\ echo ' '$values[$n]'' done [ -n "$values[URL]" ] && \ echo ' '$(l10n URL)'' for n in URL URL{0..10}; do [ -n "$values[$n]" ] &&\ echo ' '$values[$n]'' done echo '
' echo '' echo '
' echo ' '$(l10n NOTE)'' for n in NOTE NOTE{0..10}; do [ -n "$values[$n]" ] &&\ echo ' '$values[$n]'' done echo '
' echo '' echo '
' echo ' '$(l10n edit)'' echo ' '$(l10n vcf_export)'' echo '
' } view_attendee() { #Parameter: Cardfile id="$1" cardfile="vcard/$id" cachefile="cache/${id}.cache" unset key if [ "$cachefile" -nt "$cardfile" ]; then cat "$cachefile" else declare -A tags declare -A values 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 values[$key]="$value" for t in ${(k)tag}; do tags[${key}_$t]="$tag[$t]" done eval "$line" if [ -n "$values[$key]" ]; then n=0 while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done key=$key$n fi unset value unset tag fi ;; esac done print_card |tee "$cachefile" fi }