]> git.plutz.net Git - confetti/blobdiff - templates/view_client.sh
unify ics parser
[confetti] / templates / view_client.sh
index bbcc09196844497e7cb6b8ef540907be1e9f1ccf..2cb124bb71a88fa6f4f76a1a757b2115beff31ae 100755 (executable)
@@ -37,8 +37,8 @@ cat <<END_HTML
 
     ${values[BDAY]:+<span class="\""item BDAY"\""><label>*:</label> ${values[BDAY]}</span>}
     ${values[SOUND]:+<audio controls="controls" class="\""item SOUND"\""><source type="audio/ogg" src="\""data:audio/ogg;base64,$values[SOUND]"\"" /></audio>}
-    ${values[PHOTO]:+<img class="\""item PHOTO"\"" src="\""data:image/$tags[PHOTO_TYPE];base64,$values[PHOTO]"\"" />}
-    ${values[LOGO]:+<img class="\""item LOGO"\"" src="\""data:image/$tags[LOGO_TYPE];base64,$values[LOGO]"\"" />}
+    ${values[PHOTO]:+<img class="\""item PHOTO"\"" src="\""data:image/$values[PHOTO_TYPE];base64,$values[PHOTO]"\"" />}
+    ${values[LOGO]:+<img class="\""item LOGO"\"" src="\""data:image/$values[LOGO_TYPE];base64,$values[LOGO]"\"" />}
 
     <h3>$(l10n ADR)</h3>
     $(for n in ADR ADR{0..10}; do
@@ -53,7 +53,7 @@ cat <<END_HTML
   --><div class="section phone">
     <h3>$(l10n TEL)</h3>
     $(for n in TEL TEL{0..10}; do
-      echo "${values[$n]:+<span class="\""item TEL"\"">$(l10n t${tags[${n}_TYPE]}) $values[$n]</span>}"
+      echo "${values[$n]:+<span class="\""item TEL"\"">$(l10n t${values[${n}_TYPE]}) $values[$n]</span>}"
     done)
     ${values[EMAIL]:+<h3>$(l10n EMAIL)</h3>}
     $(for n in EMAIL EMAIL{0..10}; do
@@ -61,7 +61,7 @@ cat <<END_HTML
     done)
     ${values[IMPP]:+<h3>$(l10n IMPP)</h3>}
     $(for n in IMPP IMPP{0..10}; do
-      echo "${values[$n]:+<span class="\""item IMPP"\"">$tags[${n}_TYPE] <a href="\""$values[$n]"\"">$values[$n]</a></span>}"
+      echo "${values[$n]:+<span class="\""item IMPP"\"">$values[${n}_TYPE] <a href="\""$values[$n]"\"">$values[$n]</a></span>}"
     done)
   </div><!--
 
@@ -86,15 +86,20 @@ cat <<END_HTML
   --><div class="section prescriptions">
     <h3>$(l10n prescriptions)</h3>
     <ul>
-    $(find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \
+    $(declare -A mpx
+      find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \
       | while read pfile; do
-        printf '%s\t%s\t%s\n'  
-        printf '<li><a href="?p=prescriptions&amp;client=%s" >%s: %s - %s%s</a></li>' \
-          "${id}" \
-          "$(sed -nr 's;^date:(.+)$;\1;p' "$pfile")" \
-          "$(sed -nr 's;^indicator:(.+)$;\1;p' "$pfile")" \
-          "$(sed -nr 's;^quantity:(.+) ?$;\1x ;p' "$pfile")$(sed -nr 's;^remidy:(.+)$;\1;p' "$pfile")" \
-          "$(sed -nr 's;^quantity1:(.+) ?$;,\1x ;p' "$pfile")$(sed -nr 's;^remidy1:(.+)$;\1;p' "$pfile")"
+        mpx=(); cat "$pfile" |while read -r line; do
+          val="${line#*:}"
+          mpx[${line%%:*}]="$(htmlsafe "${val//\\n/$BR}")"
+        done
+        printf '<li><a href="?p=prescriptions&amp;client=%s#%s" >%s: %s - %s</a></li>' \
+          "${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
     )
     </ul>