]> git.plutz.net Git - confetti/blob - templates/edit_course.sh
implemented course section
[confetti] / templates / edit_course.sh
1
2 SUP_FIELDS=(SUMMARY COMMENT)
3 [ -z "$values[UID]" ] && values[UID]="$(dbus-uuidgen)"
4
5 dtstart="$values[DTSTART]"
6 [ -z "$dtstart" ] && dtstart=$(date +%Y%m%dT%H%M%S)
7
8 echo "$dtstart" |case "$dtstart" in
9   *Z)
10     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'
11     ;;
12   TZID*)
13     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'
14     ;;
15   *)
16     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'
17     ;;
18 esac |read dts_date
19
20 dts_year=$(date -d "$dts_date" +%Y)
21 dts_month=$(date -d "$dts_date" +%m)
22 dts_dom=$(date -d "$dts_date" +%d)
23 dts_dow=$(date -d "$dts_date" +%u)
24 dts_weekday=$(date -d "$dts_date" +%A)
25 dts_hour=$(date -d "$dts_date" +%H)
26 dts_min=$(date -d "$dts_date" +%M)
27 dts_sec=$(date -d "$dts_date" +%S)
28
29 rrule="$values[RRULE]"
30 rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')"
31 rr_count="$(echo $rrule |sed -rn 's:^.*COUNT=([0-9]+)(;.*)?$:\1:p')"
32 rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')"
33 rr_uyear="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\1:p')"
34 rr_umonth="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\2:p')"
35 rr_uday="$(echo $rrule |sed -rn 's:^.*UNTIL=([0-9]{4})([0-9]{2})([0-9]{2})T[0-9]{6}Z(;.*)?$:\3:p')"
36 if [ -n "$rr_count" ]; then
37   rr_limit=COUNT
38 elif [ -n "$rr_uyear" ]; then
39   rr_limit=UNTIL
40 else
41   rr_limit=ETERN
42 fi
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">'$(l10n SUMMARY)'</span>'
49 echo '    <input type="text" class="item SUMMARY" name="SUMMARY" value="'$values[SUMMARY]'" />'
50 echo '    <span class="sectitle">'$(l10n COMMENT)'</span>'
51 for n in COMMENT COMMENT{0..10}; do [ -n "$values[$n]" ] &&\
52   echo '    <textarea class="item COMMENT" name="COMMENT">'$values[$n]'</textarea>'
53 done
54 echo '  </div>'
55
56 echo '  <div class="section dtstart">'
57 echo '    <span class="sectitle">'$(l10n DTSTART)'</span>'
58 echo '    <select class="DTSYEAR" name="DTSYEAR" onchange="this.form.submit();">'
59 for y in {$(($dts_year - 50))..$(($dts_year + 50))}; do
60   echo '    <option value="'$y'" '$([ "$y" -eq "$dts_year" ] && echo 'selected="selected"')'>'$y'</option>'
61 done
62 echo '    </select>'
63 echo '    <select class="DTSMONTH" name="DTSMONTH" onchange="this.form.submit();">'
64 for m in {01..12}; do
65   echo '    <option value="'$m'" '$([ "$m" -eq "$dts_month" ] && echo 'selected="selected"')'>'$(date -d ${dts_year}-${m}-1 +%B)'</option>'
66 done
67 echo '    </select>'
68 echo '    <button class="DTS" type="submit" name="DTS" value="update">'$(l10n edit_dtscal)'</button>'
69 for wd in mon tue wed thu fri sat sun; do
70   echo '    <span class="DTSCALHEAD">'$(date -d $wd +%a)'</span>'
71 done
72 fdom=$(date -d ${dts_year}-${dts_month}-1 +%u)
73 while [ "$fdom" -gt 1 ]; do
74   echo '    <span class="DTSCAL"></span>'
75   fdom=$(($fdom - 1))
76 done
77 echo '<input type="hidden" name="DTSDAY" value="'$dts_dom'">'
78 cnt=$(date -d ${dts_year}-${dts_month}-1 +%s)
79 while [ "$(date -d @$cnt +%m)" = "$dts_month" ]; do
80   dn=$(date -d @$cnt +%d)
81   echo '    <button class="DTSCAL '$( [ $dn = $dts_dom ] && echo selected)'" type="submit" name="DTSDAY" value="'$dn'">'$dn'</button>'
82   cnt=$(($cnt + 86400))
83 done
84 echo '    <br />'
85 echo '    <span class="DTSTIME">'$(l10n time)':</span>'
86 echo '    <select class="DTSTIME" name="DTSHOUR">'
87 for h in {00..23}; do
88   echo '    <option value="'$h'" '$([ "$h" -eq "$dts_hour" ] && echo 'selected="selected"')'>'$h'</option>'
89 done
90 echo '    </select>:<select class="DTSTIME" name="DTSMINUTE">'
91 for m in {00..59}; do
92   echo '    <option value="'$m'" '$([ "$m" -eq "$dts_min" ] && echo 'selected="selected"')'>'$m'</option>'
93 done
94 echo '    </select>'
95 echo '  </div>'
96
97 echo '  <div class="section recur">'
98 echo '    <span class="sectitle">'$(l10n RRULE)'</span>'
99 echo '    <span class="text">'$(l10n t_every)'</span>'
100 echo '    <select class="RRULE INTERVAL" name="RRULE_INTERVAL">'
101 for i in {1..365}; do
102   echo '    <option value="'$i'" '$([ "$i" = "$rr_int" ] && echo 'selected="selected"')'>'$i'</option>'
103 done
104 echo '    </select>'
105 echo '    <select class="RRULE FREQ" name="RRULE_FREQ">'
106 for f in DAILY WEEKLY MONTHLY YEARLY; do
107   echo '    <option value="'$f'" '$([ "$f" = "$rr_freq" ] && echo 'selected="selected"')'>'$(l10n $f)'</option>'
108 done
109 echo '    </select><br/>'
110 echo '    <input type="radio" name="RRULE_LIMIT" value="ETERN" '$([ "$rr_limit" = ETERN ] && echo 'checked="checked"')'>'$(l10n t_eternal)'</input><br/>'
111 echo '    <input type="radio" name="RRULE_LIMIT" value="COUNT" '$([ "$rr_limit" = COUNT ] && echo 'checked="checked"')'></input>'
112 echo '    <select class="RRULE COUNT" name="RRULE_COUNT">'
113 for t in {1..365}; do
114   echo '    <option value="'$t'" '$([ "$t" = "$rr_count" ] && echo 'selected="selected"')'>'$t'</option>'
115 done
116 echo '    </select><span class="text">'$(l10n t_times)'</span><br/>'
117 echo '    <input type="radio" name="RRULE_LIMIT" value="UNTIL" '$([ "$rr_limit" = UNTIL ] && echo 'checked="checked"')'>'$(l10n t_until)'</input>'
118 echo '    <select class="RRULE UYEAR" name="RRULE_UYEAR">'
119 for uy in {${dts_year}..$(($dts_year + 50))}; do
120   echo '    <option value="'$uy'" '$([ "$uy" = "$rr_uyear" ] && echo 'selected="selected"')'>'$uy'</option>'
121 done
122 echo '    </select>'
123 echo '    <select class="RRULE UMONTH" name="RRULE_UMONTH">'
124 for um in {01..12}; do
125   echo '    <option value="'$um'" '$([ "$um" = "$rr_umonth" ] && echo 'selected="selected"')'>'$(date -d 2000-${um}-1 +%B)'</option>'
126 done
127 echo '    </select>'
128 echo '    <select class="RRULE UDAY" name="RRULE_UDAY">'
129 for ud in {01..31}; do
130   echo '    <option value="'$ud'" '$([ "$ud" = "$rr_uday" ] && echo 'selected="selected"')'>'$ud'</option>'
131 done
132 echo '    </select>'
133 echo '  </div>'
134
135 echo '  <div class="section control">'
136 echo '    <button class="item control" type="submit" name="action" value="addfield">'$(l10n edit_addfield)'</button>'
137 echo '    <select class="item control" name="newfield">'
138 echo '      <option value="" disabled="disabled" selected="selected">'$(l10n edit_addfieldtext)'</option>'
139             for f in $SUP_FIELDS; do echo "<option value=\"$f\">$(l10n $f)</option>"; done
140 echo '    </select>'
141 echo '    <button class="item control" type="submit" name="action" value="update">'$(l10n edit_update)'</button>'
142 echo '    <button class="item control" type="submit" name="action" value="delete">'$(l10n edit_delete)'</button>'
143 echo '    <button class="item control" type="submit" name="action" value="cancel">'$(l10n edit_cancel)'</button>'
144 echo '  </div>'
145 echo '<input type="hidden" name="UID" value="'$values["UID"]'"/>'
146 echo '</form>'
147 echo '</div>'
148