[title Webchat]
] [body class="%s"
' "$page"
+ [ "$QUERY_STRING" = settings ] && settings_menu
cat
printf '] ]'
} |"$_EXEC/cgilite/html-sh.sed" -u
settings_menu(){
printf '
- [input #check_settings type="checkbox"][label for=check_settings Settings]
- [div #settings
- [h1 Settings][label for=check_settings Close]
- [input #set_nick type=radio name="setting" value="nick" selected][label for=set_nick Nickname]
- [div [input name="nickname" value="%s"][submit "action" "nick" Set Cookie]]
- ]
+ [form #settings method="POST" action="?"
+ [h1 Settings][a .settings href="?" Close]'
+ printf '
+ [a .section href="#nick" Nickname]
+ [div #nick [input name="nickname" value="%s"][submit "action" "nick" Set Cookie]]
' "$(HTML "${nickname#\?}")"
+ printf '
+ [a .section href="#register" Register Nickname]
+ [div #register
+ [p Registration will set a permanent Cookie in your Browser.
+ Registration requires neither a password, nor an email address.]
+ [input name="regnick" value="%s"][submit "action" "register" Register]
+ ]' "$(HTML "${nickname#\?}")"
+ printf ']'
}
+. "$_EXEC/usernick.sh"
+
case ${LOCATION} in
- \&?*) chatfile="$_DATA/${LOCATION}"
- . $_EXEC/channel.sh
- exit 0
- ;;
- @?*) if [ -d "$_DATA/${LOCATION}" ]; then
- chatfile="$_DATA/${LOCATION}/?${SESSION_ID}"
- . $_EXEC/channel.sh
- else
- REDIRECT /
- fi
- exit 0
- ;;
- ~?*) if [ -d "$_DATA/@${LOCATION#~}" ]; then
- pubinfo="$_DATA/@${LOCATION#~}/pubinfo"
- page=pubinfo
- else
- REDIRECT /
- fi
- ;;
webchat.css)
- . "$_EXEC/file.sh"
+ . "$_EXEC/cgilite/file.sh"
FILE "$_EXEC/webchat.css"
exit 0
;;
- '') page=front;;
- *) REDIRECT /;;
-esac
-
-case "$page $(POST action)" in
- pubinfo\ *);;
- front\ *) yield_page front <<-EOF
+ \&?*)
+ chatfile="$_DATA/${LOCATION}"
+ . "$_EXEC/channel.sh"
+ exit 0
+ ;;
+ @?*)
+ if [ -d "$_DATA/${LOCATION}" ]; then
+ chatfile="$_DATA/${LOCATION}/?${SESSION_ID}"
+ . "$_EXEC/channel.sh"
+ else
+ REDIRECT /
+ fi
+ exit 0
+ ;;
+ ~?*)
+ if [ -d "$_DATA/@${LOCATION#~}" ]; then
+ pubinfo="$_DATA/@${LOCATION#~}/pubinfo"
+ else
+ REDIRECT /
+ fi
+ ;;
+ '') yield_page front <<-EOF
Front
EOF
;;
+ *) REDIRECT /
+ ;;
esac