+print_card() {
+ echo ' <div class="section basic">'
+ echo ' <span class="item FN">'$values[FN]'</span>'
+ [ -n "$value[GENDER]" ] && \
+ echo ' <span class="item GENDER">'$(l10n $values[GENDER])'</span>'
+ for n in NICKNAME NICKNAME{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item NICKNAME">aka. '$values[$n]'</span>'
+ done
+ [ -n "$values[BDAY]" ] &&\
+ echo ' <span class="item BDAY"><b>*:</b> '$values[BDAY]'</span>'
+ if [ -n "$values[SOUND]" ]; then
+ echo ' <audio controls="controls" class="item SOUND">'
+ echo ' <source type="audio/ogg" src="data:audio/ogg;base64,'$values[SOUND]'" />'
+ echo ' </audio>'
+ fi
+ [ -n "$values[PHOTO]" ] &&\
+ echo ' <img class="item PHOTO" src="data:image/'$tags[PHOTO_TYPE]';base64,'$values[PHOTO]'" />'
+ [ -n "$values[LOGO]" ] &&\
+ echo ' <img class="item LOGO" src="data:image/'$tags[LOGO_TYPE]';base64,'$values[LOGO]'" />'
+ echo ' </div>'
+ echo ''
+ echo ' <div class="section phone">'
+ echo ' <span class="sectitle">'$(l10n TEL)'</span>'
+ for n in TEL TEL{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item TEL">'$tags[${n}_TYPE]' '$values[$n]'</span>'
+ done
+ echo ' </div>'
+ echo ''
+ echo ' <div class="section message">'
+ echo ' <span class="sectitle">'$(l10n EMAIL)'</span>'
+ for n in EMAIL EMAIL{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item EMAIL"><a href="mailto:'$values[$n]'">'$values[$n]'</a></span>'
+ done
+ [ -n "$values[IMPP]" ] && \
+ echo ' <span class="sectitle">'$(l10n IMPP)'</span>'
+ for n in IMPP IMPP{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item IMPP">'$tags[${n}_TYPE]' <a href="'$values[$n]'">'$values[$n]'</a></span>'
+ done
+ echo ' </div>'
+ echo ''
+ echo ' <div class="section address">'
+ echo ' <span class="sectitle">'$(l10n ADR)'</span>'
+ for n in ADR ADR{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item ADR">'$values[$n]'</span>'
+ done
+ [ -n "$values[URL]" ] && \
+ echo ' <span class="sectitle">'$(l10n URL)'</span>'
+ for n in URL URL{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item URL"><a href="'$values[$n]'">'$values[$n]'</a></span>'
+ done
+ echo ' </div>'
+ echo ''
+ echo ' <div class="section note">'
+ echo ' <span class="sectitle">'$(l10n NOTE)'</span>'
+ for n in NOTE NOTE{0..10}; do [ -n "$values[$n]" ] &&\
+ echo ' <span class="item IMPP">'$values[$n]'</span>'
+ done
+ echo ' </div>'
+ echo ''
+ echo ' <div class="section control">'
+ echo ' <a class="item control" href="?page=attendees&edit='${id}'#'${id}'">'$(l10n edit)'</a>'
+ echo ' <a class="item control" href="?export=vcard&card='${id}'">'$(l10n vcf_export)'</a>'
+ echo ' </div>'
+}
+
+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
+}