- $values[FN]
- ${values[GENDER]:+$(l10n $values[GENDER]) }
-
- $(for n in NICKNAME NICKNAME{0..10}; do
- echo "${values[$n]:+aka. $values[$n] }"
- done)
-
- ${values[BDAY]:+*: $values[BDAY] }
- ${values[X-ZACK-JOINDATE]:+$(l10n label_join): $values[X-ZACK-JOINDATE] }
- ${values[X-ZACK-LEAVEDATE]:+$(l10n label_leave): $values[X-ZACK-LEAVEDATE] }
- ${values[SOUND]:+ }
- ${values[PHOTO]:+ }
- ${values[LOGO]:+ }
-
-
$(l10n TEL)
- $(for n in TEL TEL{0..10}; do
- echo "${values[$n]:+$tags[${n}_TYPE] $values[$n] }"
- done)
-
- ${values[EMAIL]:+
$(l10n EMAIL) }
- $(for n in EMAIL EMAIL{0..10}; do
- echo "${values[$n]:+
$values[$n] }"
- done)
- ${values[IMPP]:+
$(l10n IMPP) }
- $(for n in IMPP IMPP{0..10}; do
- echo "${values[$n]:+
$tags[${n}_TYPE] $values[$n] }"
- done)
-
-
$(l10n ADR)
- $(for n in ADR ADR{0..10}; do
- echo "${values[$n]:+
$values[$n] }"
- done)
- ${values[URL]:+
$(l10n URL) }
- $(for n in URL URL{0..10}; do
- echo "${values[$n]:+
$values[$n] }"
- done)
-
-
$(l10n NOTE)
- $(for n in NOTE NOTE{0..10}; do
- echo "${values[$n]:+$values[$n] }"
- done)
-
-
$(l10n course_attendance)
-
- $(sed -rn 's:(.*)\t'$id'$:\1:p' "$_DATA/mappings/attendance" |while read each; do
- cname="$(sed -rn 's:^SUMMARY\:(.*)$:\1:p' "$_DATA/ical/$each")"
- echo ' '$cname' '
- done)
-
-
-END_HTML
+list_items(){
+ item="$1"
+ [ -n "${values[$item]+x}" ] && \
+ printf '%s \n' "$(l10n $item)"
+ for n in "$item" "$item"{0..100}; do
+ [ -z "${values[$n]+x}" ] && break \
+ || printf '%s \n' \
+ "$item" "$(htmlsafe ${values[$n]})"
+ done
+}
+
+list_section(){
+ printf '' "$1"
+ shift 1
+ for each in $@; do
+ list_items "$each"
+ done
+ printf '
'
+}
+
+n=$(printf %s "$values[N+3] $values[N+1] $values[N+2] $values[N+0] $values[N+4]" \
+ | sed -r ':X;$!{N;bX}; s;^[\n ]+;;; s;[\n ]+$;;; s;[\r\t\n ]+; ;g;'
+ )
+fullname="${n:-${values[FN]:-${values[NICKNAME]}}}"
+
+hi_company="${values[X-HEALTH-INSURANCE+0]}"
+ hi_number="${values[X-HEALTH-INSURANCE+1]}"
+ hi_status="${values[X-HEALTH-INSURANCE+2]}"
+
+printf '
+
%s
+' "$fullname"
+[ -n "$values[GENDER]" ] && printf '
+
%s
+ ' "$(l10n "$values[GENDER]")"
+
+for n in NICKNAME NICKNAME{0..100}; do
+ [ -z "${values[$n]+x}" ] && break \
+ || printf '
+
aka. %s
+ ' "$(htmlsafe ${values[$n]})"
+done
+
+[ -n "$values[BDAY]" ] && printf '
+
*: %s
+ ' "$(htmlsafe "$values[BDAY]")"
+[ -n "$values[X-ZACK-JOINDATE]" ] && printf '
+
%s: %s
+ ' "$(l10n label_join)" "$(htmlsafe "$values[X-ZACK-JOINDATE]")"
+[ -n "$values[X-ZACK-LEAVEDATE]" ] && printf '
+
%s: %s
+ ' "$(l10n label_leave)" "$(htmlsafe "$values[X-ZACK-LEAVEDATE]")"
+
+[ -n "$values[SOUND]" ] && printf '
+
+
+ ' "$values[SOUND]"
+
+[ -n "$values[PHOTO]" ] && printf '
+
+ ' "${values[PHOTO_TYPE]}" "${values[PHOTO]}"
+
+[ -n "$values[LOGO]" ] && printf '
+
+ ' "${values[LOGO_TYPE]}" "${values[LOGO]}"
+
+if [ "$PROFILE" = circus ]; then
+ printf '
'
+
+ list_section phone TEL
+ list_section message EMAIL IMPP URL
+ list_section address ADR
+ list_section note NOTE
+
+ printf '%s ' "$(l10n course_attendance)"
+ sed -rn 's:(.*)\t'"$id"'$:\1:p' "$_DATA/mappings/attendance" |while read each; do
+ cname="$(sed -rn 's:^SUMMARY\:(.*)$:\1:p' "$_DATA/ical/$each")"
+ printf ' %s ' "$each" "$(htmlsafe $cname)"
+ done
+ printf ' '
+elif [ "$PROFILE" = medical ]; then
+ list_items ADR
+ list_items URL
+ printf ''
+
+ list_section phone TEL EMAIL IMPP
+
+ printf '
%s ' "$(l10n X-HEALTH-INSURANCE)"
+ [ -n "$hi_company" ] && printf '%s ' \
+ "$(htmlsafe "$hi_company")"
+ [ -n "$hi_number" ] && printf '%s: %s ' \
+ "$(l10n hi_number)" "$(htmlsafe "$hi_number")"
+ [ -n "$hi_status" ] && printf '%s: %s ' \
+ "$(l10n hi_status)" "$(htmlsafe "$hi_status")"
+ printf ''
+
+ list_section note NOTE X-CLIENT-REFERRAL
+
+ printf '%s ' "$(l10n prescriptions)"
+ declare -A mpx
+ find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \
+ | while read pfile; do
+ mpx=(); cat "$pfile" |while read -r line; do
+ val="${line#*:}"
+ mpx[${line%%:*}]="$(htmlsafe "${val//\\n/$BR}")"
+ done
+ printf '%s: %s - %s ' \
+ "${id}" "${pfile##*/}" "${mpx[date]}" "${mpx[indicator]}" \
+ "$([ -n "${mpx[remidy]}" ] && printf '%s %s' "${mpx[quantity]}" "${mpx[remidy]}"
+ for n in {0..10}; do
+ [ -n "${mpx[remidy${n}]}" ] && printf ', %s %s' "${mpx[quantity${n}]}" "${mpx[remidy${n}]}"
+ done
+ )"
+ done |sort -r
+ printf ' '
+fi