- /) recent="$(COOKIE pages)"
- yield_page "Start a Poll" "home" <<-EOF
- [form method=post
- [submit "start" "date" Start a new poll]
- $(if [ "$recent" ]; then
- printf '[h2 Recent Polls][ul .recent'
- for page in $recent; do
- [ -f "$_DATA/$(checkid "$page")" ] \
- && printf '[li [a href="./%s" . %s]]' "$page" "$(pagename "$page" |HTML)"
- done
- printf ']'
- fi)
- ]
- EOF
- ;;
- /*/newdate)
- id="${PATH_INFO%/newdate}"; id="${id#/}"
- file="$_DATA/$id"
- month="$(GET month |grep -m1 -xE '[0-9]{4}-(0[1-9]|1[012])' || date +%Y-%m)"
- Y="${month%-*}"; m="${month#*-}"; Y=${Y#0}; m=${m#0};
- [ "$m" = 1 ] && prev=$(printf '%04i-%02i' $((Y - 1)) 12) || prev=$(printf '%04i-%02i' $Y $((m - 1)))
- [ "$m" = 12 ] && next=$(printf '%04i-%02i' $((Y + 1)) 01) || next=$(printf '%04i-%02i' $Y $((m + 1)))
- dates="$(DBM "$file" get dates)"
- days="$(printf %s "$dates" |sed -E "/^${month}-/!d; s;^.*-([0-9]{2})$;\1;g")"
- additional="$(printf %s "$dates" |sed -E "/^${month}-/d;")"
- todall="$(DBM "$file" get todall)"
-
- yield_page "$(pagename "$id")" "newdate" <<-EOF
- $(dlist_timeofday)
- [form method=post
- [input name=title value="$(DBM "$file" get title |HTML)" placeholder="Title"]
- [textarea name=description placeholder="Description" . $(DBM "$file" get description |HTML)]
- [fieldset .date
- $(printf '[hidden "date" "%s"]' $additional)
- [submit "month" "$prev" Previous Month]
- $(w_month multiple date "$month" $days)
- [submit "month" "$next" Next Month]
- [hidden "month" "$month"]
- ]
- [fieldset .timeofday
- [label .todstart Start Time (optional):
- ]
- [label .todend End Time (optional):
- ]
- $(c=0; for time in ${todall:--}; do
- c=$((c + 1))
- printf '
- <input name="todstart" value="%s" placeholder="HH:MM" list="dlist_timeofday"
- pattern="^(0?\[0-9\]|1\[0-9\]|2\[0-3\]):(\[0-5\]\[0-9\])$"/>
- <input name="todend" value="%s" placeholder="HH:MM" list="dlist_timeofday"
- pattern="^(0?\[0-9\]|1\[0-9\]|2\[0-3\]):(\[0-5\]\[0-9\])$"/>
- [submit "todremove" "%i" -]
- ' "${time%-*}" "${time#*-}" "${c}"
- done)
- [submit "addtime" "global" + Add time option]
- ]
- [submit "cancel" "cancel" Cancel]
- [submit "post" "post" Post Event]
- ]
- EOF
- ;;