X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=templates%2Fview_attendee.sh;h=40f09926914ffd608f98b2857ba292850e7f41d0;hp=e69de29bb2d1d6434b8b29ae775ad8c2e48c5391;hb=be5f12e43f464b3ca924b2131fe74d6cf24981a1;hpb=a8c6f8b510bb4747798c4f576162733d982bae75
diff --git a/templates/view_attendee.sh b/templates/view_attendee.sh
index e69de29..40f0992 100755
--- a/templates/view_attendee.sh
+++ b/templates/view_attendee.sh
@@ -0,0 +1,104 @@
+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 ' '
+}
+
+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
+}