edit course attendees form course display
[confetti] / templates / view_course.sh
1
2 dtstart="$values[DTSTART]"
3 [ -z "$dtstart" ] && dtstart=$(date +%Y%m%dT%H%M%S)
4
5 echo "$dtstart" |case "$dtstart" in
6   *Z)
7     sed -rn 's:^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z$:\1-\2-\3 \4\:\5\:\6 UTC:p'
8     ;;
9   TZID*)
10     sed -rn 's:^TZID=(.+)\:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})$:TZ="\1" \2-\3-\4 \5\:\6\:\7:p'
11     ;;
12   *)
13     sed -rn 's:^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})$:\1-\2-\3 \4\:\5\:\6:p'
14     ;;
15 esac |read dts_date
16
17 dts_year=$(date -d "$dts_date" +%Y)
18 dts_month=$(date -d "$dts_date" +%m)
19 dts_dom=$(date -d "$dts_date" +%d)
20 dts_dow=$(date -d "$dts_date" +%u)
21 dts_weekday=$(date -d "$dts_date" +%A)
22 dts_hour=$(date -d "$dts_date" +%H)
23 dts_min=$(date -d "$dts_date" +%M)
24 dts_sec=$(date -d "$dts_date" +%S)
25
26 rrule="$values[RRULE]"
27 rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')"
28 rr_count="$(echo $rrule |sed -rn 's:^.*COUNT=([0-9]+)(;.*)?$:\1:p')"
29 rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')"
30 rr_uyear="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\1:p')"
31 rr_umonth="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\2:p')"
32 rr_uday="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\3:p')"
33 rr_udate="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z(;.*)?$:\1-\2-\3 \4\:\5\:\6:p')"
34 if [ -n "$rr_count" ]; then
35   rr_limit=COUNT
36 elif [ -n "$rr_uyear" ]; then
37   rr_limit=UNTIL
38 else
39   rr_limit=ETERN
40 fi
41
42 coursemail=""
43
44 echo '<div id="'${id}'" class="course">'
45 echo '<form action="/?action=update_course" method="POST">'
46 echo '<input type="hidden" name="course" value="'${id}'"/>'
47 echo '  <div class="section basic">'
48 echo '    <span class="sectitle">'$values[SUMMARY]'</span>'
49 echo '    <span class="text">'$(date -d "$dts_date" "+%A %B %d, %Y - %H:%M") $(l10n t_oclock)'</span>'
50 [ "$rr_int" -eq 1 ] \
51 && echo '<span class="text">'$(l10n s$rr_freq)'</span>' \
52 || echo '<span class="text">'$(l10n t_every) ${rr_int} $(l10n $rr_freq)'</span>'
53 case "$rr_limit" in
54   COUNT)
55     m1=$(echo $rr_freq |sed -r "s:DAILY:day:g;s:WEEKLY:week:g;s:MONTHLY:month:g;s:YEARLY:year:g;")
56     m2=$(($rr_int * $rr_count))
57     echo '<span class="text">'$(l10n t_until) $(date -d "$dts_date + $m2 $m1" "+%A %B %d, %Y - %H:%M")'</span>'
58     ;;
59   UNTIL)
60     echo '<span class="text">'$(l10n t_until) $(date -d "$rr_udate" "+%A %B %d, %Y - %H:%M")'</span>'
61     ;;
62 esac
63 echo '  </div>'
64
65 echo '  <div class="section COMMENT">'
66 echo '    <span class="sectitle">'$(l10n COMMENT)'</span>'
67 for n in COMMENT COMMENT{0..10}; do [ -n "$values[$n]" ] &&\
68   echo '    <p class="item COMMENT">'$(echo "$values[$n]" |sed -r "s:$:<br/>:g" )'</p>'
69 done
70 echo '  </div>'
71
72 echo '  <div class="section attendance">'
73 echo '    <span class="sectitle">'$(l10n course_attendance)'</span>'
74 sed -rn 's:'$id'\t(.+)$:\1:p' "$_DATA/mappings/attendance" |while read each; do
75   n_last="$(  sed -rn 's:^N(;.+)*\:([^;]*;){0} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")"
76   n_first="$( sed -rn 's:^N(;.+)*\:([^;]*;){1} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")"
77   n_middle="$(sed -rn 's:^N(;.+)*\:([^;]*;){2} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")"
78   n_pre="$(   sed -rn 's:^N(;.+)*\:([^;]*;){3} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")"
79   n_post="$(  sed -rn 's:^N(;.+)*\:([^;]*;){4} *([^;]*).*$:\3:p' "$_DATA/vcard/$each")"
80   aname="${n_pre} ${n_first} ${n_middle} ${n_last} ${n_post}"
81   echo '    <a class="attendance" href="/?page=attendees#'$each'">'$aname'</a>'
82
83   coursemail="$coursemail$(sed -rn 's:^EMAIL(;.+)*\:(.+)\r$:\2,:p' "$_DATA/vcard/$each")"
84 done
85 echo '  </div>'
86
87 echo '  <div class="section control">'
88 echo '    <a class="item control" href="?action=edit_course&course='${id}'">'$(l10n edit)'</a>'
89 echo '    <a class="item control" href="?export=ical&course='${id}'">'$(l10n ics_export)'</a>'
90 echo '    <a class="item control" href="mailto:zack@vuesch.org?bcc='$coursemail'">'$(l10n course_mail)'</a>'
91 echo '  </div>'
92 echo '<input type="hidden" name="UID" value="'$values["UID"]'"/>'
93 echo '</form>'
94 echo '</div>'
95