]> git.plutz.net Git - webpoll/blobdiff - home.sh
put home page into separate file
[webpoll] / home.sh
diff --git a/home.sh b/home.sh
new file mode 100755 (executable)
index 0000000..bea9940
--- /dev/null
+++ b/home.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+if [ "$REQUEST_METHOD" = POST ]; then
+  case $(POST start) in
+    date)
+      id="$(randomid)"
+      admin="$(randomid)"
+      file="$_DATA/$id"
+      # touch "$file"
+      DBM "$file" add adminkey "$admin"
+      REDIRECT "$_BASE/$id/$admin"
+      ;;
+    options)
+      id="$(randomid)"
+      touch "$_DATA/$id"
+      REDIRECT "$_BASE/$id/newoptions"
+      ;;
+    *) REDIRECT "$_BASE/";;
+  esac
+else
+  yield_page "Start a Poll" "home" <<-EOF
+       [form method=post
+         [submit "start" "date" Start a new poll]
+         $(if [ "$bookmarks" ]; then
+           printf '[h2 Recent Polls][ul .recent'
+           for page in $bookmarks; do
+             page="${page%/*}"
+             [ -f "$_DATA/$(checkid "$page")" ] \
+             && printf '[li [a href="./%s" . %s]]' "$page" "$(pagename "$page" |HTML)"
+           done
+           printf ']'
+         fi)
+       ]
+       EOF
+fi