]> git.plutz.net Git - confetti/blob - templates/view_client.sh
prevent double escaping of & in htmlsafe
[confetti] / templates / view_client.sh
1 # Copyright 2014 - 2016 Paul Hänsch
2 #
3 # This file is part of Confetti.
4
5 # Confetti is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9
10 # Confetti is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Affero General Public License for more details.
14
15 # You should have received a copy of the GNU Affero General Public License
16 # along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
17
18 n=$(printf %s "$values[N]" \
19     | sed -rn 's:^([^;]*)(\;[^;]*)(\;[^;]*)?(\;[^;]*)?(\;[^;]*)?$:\4 \2 \3 \1 \5:gp' \
20     | sed -r 's:,: :;s:\;: :g;s: +: :g;s:^ $::;'
21    )
22 fullname="${n:-${values[FN]:-${values[NICKNAME]}}}"
23
24 hi_company="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f1)"
25 hi_number="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f2)"
26 hi_status="$(printf %s "${values[X-HEALTH-INSURANCE]}" |cut -d\; -f3)"
27
28
29 cat <<END_HTML
30   <div class="section basic">
31     <h2 class="item FN">$fullname</h2>
32     ${values[GENDER]:+<span class="\""item GENDER"\"">$(l10n $values[GENDER])</span>}
33
34     $(for n in NICKNAME NICKNAME{0..10}; do
35       echo "${values[$n]:+<span class="\""item NICKNAME"\"">aka. $values[$n]</span>}"
36     done)
37
38     ${values[BDAY]:+<span class="\""item BDAY"\""><label>*:</label> ${values[BDAY]}</span>}
39     ${values[SOUND]:+<audio controls="controls" class="\""item SOUND"\""><source type="audio/ogg" src="\""data:audio/ogg;base64,$values[SOUND]"\"" /></audio>}
40     ${values[PHOTO]:+<img class="\""item PHOTO"\"" src="\""data:image/$tags[PHOTO_TYPE];base64,$values[PHOTO]"\"" />}
41     ${values[LOGO]:+<img class="\""item LOGO"\"" src="\""data:image/$tags[LOGO_TYPE];base64,$values[LOGO]"\"" />}
42
43     <h3>$(l10n ADR)</h3>
44     $(for n in ADR ADR{0..10}; do
45       echo "${values[$n]:+<span class="\""item ADR"\"">$values[$n]</span>}"
46     done)
47     ${values[URL]:+<h3>$(l10n URL)</h3>}
48     $(for n in URL URL{0..10}; do
49       echo "${values[$n]:+<span class="\""item URL"\""><a href="\""$values[$n]"\"">$values[$n]</a></span>}"
50     done)
51   </div><!--
52
53   --><div class="section phone">
54     <h3>$(l10n TEL)</h3>
55     $(for n in TEL TEL{0..10}; do
56       echo "${values[$n]:+<span class="\""item TEL"\"">$(l10n t${tags[${n}_TYPE]}) $values[$n]</span>}"
57     done)
58     ${values[EMAIL]:+<h3>$(l10n EMAIL)</h3>}
59     $(for n in EMAIL EMAIL{0..10}; do
60       echo "${values[$n]:+<span class="\""item EMAIL"\""><a href="\""mailto:$values[$n]"\"">$values[$n]</a></span>}"
61     done)
62     ${values[IMPP]:+<h3>$(l10n IMPP)</h3>}
63     $(for n in IMPP IMPP{0..10}; do
64       echo "${values[$n]:+<span class="\""item IMPP"\"">$tags[${n}_TYPE] <a href="\""$values[$n]"\"">$values[$n]</a></span>}"
65     done)
66   </div><!--
67
68   --><div class="section insurance">
69     <h3>$(l10n X-HEALTH-INSURANCE)</h3>
70     ${hi_company:+<span class="\""item hi_comapany"\"">${hi_company}</span>}
71     ${hi_number:+<span class="\""item hi_number"\""><label>$(l10n hi_number):</label> ${hi_number}</span>}
72     ${hi_status:+<span class="\""item hi_status"\""><label>$(l10n hi_status):</label> ${hi_status}</span>}
73   </div><!--
74
75   --><div class="section note">
76     ${values[NOTE]:+<h3>$(l10n NOTE)</h3>}
77     $(for n in NOTE NOTE{0..10}; do
78       echo "${values[$n]:+<span class="\""item NOTE"\"">$values[$n]</span>}"
79     done)
80     ${values[X-CLIENT-REFERRAL]:+<h3>$(l10n X-CLIENT-REFERRAL)</h3>}
81     $(for n in X-CLIENT-REFERRAL X-CLIENT-REFERRAL{0..10}; do
82       echo "${values[$n]:+<span class="\""item X-CLIENT-REFERRAL"\"">$values[$n]</span>}"
83     done)
84   </div><!--
85
86   --><div class="section prescriptions">
87     <h3>$(l10n prescriptions)</h3>
88     <ul>
89     $(find "$_DATA/prescriptions/" -name "${id%.vcf}.*.mpx" \
90       | while read pfile; do
91         printf '%s\t%s\t%s\n'  
92         printf '<li><a href="?p=prescriptions&amp;client=%s#%s" >%s: %s - %s%s</a></li>' \
93           "${id}" \
94           "${id}" \
95           "$(sed -nr 's;^date:(.+)$;\1;p' "$pfile")" \
96           "$(sed -nr 's;^indicator:(.+)$;\1;p' "$pfile")" \
97           "$(sed -nr 's;^quantity:(.+) ?$;\1x ;p' "$pfile")$(sed -nr 's;^remidy:(.+)$;\1;p' "$pfile")" \
98           "$(sed -nr 's;^quantity1:(.+) ?$;,\1x ;p' "$pfile")$(sed -nr 's;^remidy1:(.+)$;\1;p' "$pfile")"
99       done |sort -r
100     )
101     </ul>
102   </div>
103 END_HTML