]> git.plutz.net Git - confetti/blob - templates/edit_attendee.sh
escape certain characters before passing to eval (\, $, and `)
[confetti] / templates / edit_attendee.sh
1 check_gen() {
2   [ "$values[GENDER]" = "$1" ] && echo 'selected="selected"'
3 }
4 check_a() {
5   egrep -q "^${1}.${id}$" "$_DATA/mappings/attendance" && echo 'checked="checked"'
6 }
7
8 n_last="$(echo "$values[N]" |sed -rn 's:^([^;]*;){0} *([^;]*).*$:\2:p')"
9 n_first="$(echo "$values[N]" |sed -rn 's:^([^;]*;){1} *([^;]*).*$:\2:p')"
10 n_middle="$(echo "$values[N]" |sed -rn 's:^([^;]*;){2} *([^;]*).*$:\2:p')"
11 n_pre="$(echo "$values[N]" |sed -rn 's:^([^;]*;){3} *([^;]*).*$:\2:p')"
12 n_post="$(echo "$values[N]" |sed -rn 's:^([^;]*;){4} *([^;]*)*$:\2:p')"
13
14 SUP_FIELDS=(N NICKNAME GENDER BDAY X-ZACK-JOINDATE X-ZACK-LEAVEDATE EMAIL TEL IMPP ADR URL NOTE)
15
16 [ -z "$values[UID]" ] && values[UID]="$(dbus-uuidgen)"
17
18 echo '<div id="'${id}'" class="card">'
19 echo '<form action="/?action=update_attendee" method="POST">'
20 echo '<input type="hidden" name="card" value="'${id}'"/>'
21 echo '  <div class="section basic">'
22 echo '    <span class="sectitle">'$(l10n N)'</span>'
23 echo '    <input class="item N" name="3N" placeholder="'$(l10n n_pre)'" value="'$n_pre'" />'
24 echo '    <input class="item N" name="1N" placeholder="'$(l10n n_first)'" value="'$n_first'" />'
25 echo '    <input class="item N" name="2N" placeholder="'$(l10n n_middle)'" value="'$n_middle'" />'
26 echo '    <input class="item N" name="0N" placeholder="'$(l10n n_last)'" value="'$n_last'" />'
27 echo '    <input class="item N" name="4N" placeholder="'$(l10n n_post)'" value="'$n_post'" />'
28
29 echo '    <select class="item GENDER" name="GENDER">'
30 echo '      <option value="" disabled="disabled">'$(l10n GENDER)'</option>'
31 echo '      <option value="female" '$(check_gen female)'>'$(l10n gender_female)'</option>'
32 echo '      <option value="male" '$(check_gen male)'>'$(l10n gender_male)'</option>'
33 echo '      <option value="other" '$(check_gen other)'>'$(l10n gender_other)'</option>'
34 echo '      <option value="none" '$(check_gen none)'>'$(l10n gender_none)'</option>'
35 echo '    </select>'
36
37 for n in NICKNAME NICKNAME{0..10}; do [ -n "$values[$n]" ] &&\
38   echo '    <input class="item NICKNAME" name="NICKNAME" placeholder="'$(l10n NICKNAME)'" value="'$values[$n]'" />'
39 done
40
41 echo '    <span class="sectitle">'$(l10n BDAY)'</span>'
42 echo '    <input class="item BDAY" name="BDAY" value="'$values[BDAY]'" />'
43
44 echo '    <span class="sectitle">'$(l10n X-ZACK-JOINDATE)'</span>'
45 echo '    <input class="item X-ZACK-LEAVEDATE" name="X-ZACK-JOINDATE" value="'$values[X-ZACK-JOINDATE]'" />'
46 if [ -n "$values[X-ZACK-LEAVEDATE]" ]; then
47   echo '    <span class="sectitle">'$(l10n X-ZACK-LEAVEDATE)'</span>'
48   echo '    <input class="item X-ZACK-LEAVEDATE" name="X-ZACK-LEAVEDATE" value="'$values[X-ZACK-LEAVEDATE]'" />'
49 fi
50
51 if [ -n "$values[SOUND]" ]; then
52   echo '    <audio controls="controls" class="item SOUND">'
53   echo '      <source type="audio/ogg" src="data:audio/ogg;base64,'$values[SOUND]'" />'
54   echo '    </audio>'
55 fi
56 [ -n "$values[PHOTO]" ] &&\
57   echo '    <img class="item PHOTO" src="data:image/'$tags[PHOTO_TYPE]';base64,'$values[PHOTO]'" />'
58 [ -n "$values[LOGO]" ] &&\
59   echo '    <img class="item LOGO" src="data:image/'$tags[LOGO_TYPE]';base64,'$values[LOGO]'" />'
60 echo '  </div>'
61 echo ''
62 echo '  <div class="section phone">'
63 echo '    <span class="sectitle">'$(l10n TEL)'</span>'
64   echo '    <input class="item TEL" name="TEL" value="'$values[TEL]'" />'
65 for n in TEL{0..10}; do [ -n "$values[$n]" ] &&\
66   echo '    <input class="item TEL" name="TEL" value="'$values[$n]'" />'
67 done
68 echo '  </div>'
69 echo ''
70 echo '  <div class="section message">'
71 echo '    <span class="sectitle">'$(l10n EMAIL)'</span>'
72   echo '    <input class="item EMAIL" name="EMAIL" value="'$values[EMAIL]'" />'
73 for n in EMAIL{0..10}; do [ -n "$values[$n]" ] &&\
74   echo '    <input class="item EMAIL" name="EMAIL" value="'$values[$n]'" />'
75 done
76 [ -n "$values[IMPP]" ] && \
77   echo '    <span class="sectitle">'$(l10n IMPP)'</span>'
78 for n in IMPP IMPP{0..10}; do [ -n "$values[$n]" ] &&\
79   echo '    <input class="item IMPP" name="IMPP" value="'$values[$n]'" />'
80 done
81 echo '  </div>'
82 echo ''
83 echo '  <div class="section address">'
84 echo '    <span class="sectitle">'$(l10n ADR)'</span>'
85 echo '    <textarea class="item ADR" name="ADR">'$values[ADR]'</textarea>'
86 for n in ADR{0..10}; do [ -n "$values[$n]" ] &&\
87   echo '    <textarea class="item ADR" name="ADR">'$values[$n]'</textarea>'
88 done
89 [ -n "$values[URL]" ] && \
90   echo '    <span class="sectitle">'$(l10n URL)'</span>'
91 for n in URL URL{0..10}; do [ -n "$values[$n]" ] &&\
92   echo '    <input class="item URL" name="URL" value="'$values[$n]'" />'
93 done
94 echo '  </div>'
95 echo ''
96 echo '  <div class="section note">'
97 echo '    <span class="sectitle">'$(l10n NOTE)'</span>'
98 echo '    <textarea class="item NOTE" name="NOTE">'$values[NOTE]'</textarea>'
99 for n in NOTE{0..10}; do [ -n "$values[$n]" ] &&\
100   echo '    <textarea class="item NOTE" name="NOTE">'$values[$n]'</textarea>'
101 done
102 echo '  </div>'
103 echo ''
104 echo '  <div class="section attendance">'
105 echo '    <span class="sectitle">'$(l10n course_attendance)'</span>'
106 listcourses |while read each; do
107   cname="$(sed -rn 's:^SUMMARY\:(.*)$:\1:p' "$_DATA/ical/$each")"
108   echo '    <span class="check attendance"><input type="checkbox" name="attendance" value="'$each'" '$(check_a "$each")'/>'$cname'</span>'
109 done
110 echo '  </div>'
111 echo ''
112 echo '  <div class="section control">'
113 echo '    <button class="item control" type="submit" name="action" value="addfield">'$(l10n edit_addfield)'</button>'
114 echo '    <select class="item control" name="newfield">'
115 echo '      <option value="" disabled="disabled" selected="selected">'$(l10n edit_addfieldtext)'</option>'
116             for f in $SUP_FIELDS; do echo "<option value=\"$f\">$(l10n $f)</option>"; done
117 echo '    </select>'
118 echo '    <button class="item control" type="submit" name="action" value="update">'$(l10n edit_update)'</button>'
119 echo '    <button class="item control" type="submit" name="action" value="delete">'$(l10n edit_delete)'</button>'
120 echo '    <button class="item control" type="submit" name="action" value="cancel">'$(l10n edit_cancel)'</button>'
121 echo '  </div>'
122 echo '<input type="hidden" name="UID" value="'$values[UID]'"/>'
123 echo '</form>'
124 echo '</div>'
125