#!/bin/sh USER_REQUIREEMAIL=false . "${_EXEC:-${0%/*}}"/cgilite/cgilite.sh . "$_EXEC"/cgilite/session.sh nocookie . "$_EXEC"/cgilite/users.sh PATH_INFO="$(PATH "/${PATH_INFO#${_BASE}}")" export MD_HTML="false" if [ "$(which awk)" ]; then markdown() { awk -f "$_EXEC/cgilite/markdown.awk"; } else markdown() { busybox awk -f "$_EXEC/cgilite/markdown.awk"; } fi yield_page(){ title="${1:-RAW:NET}" page="$2" printf '%s\r\n' 'Content-Type: text/html; charset=utf-8' \ "Content-Security-Policy: script-src 'none'" \ '' { cat <<-EOF [!DOCTYPE HTML] [html [head [meta name="viewport" content="width=device-width"] [link rel="stylesheet" type="text/css" href="$_BASE/cgilite/common.css"] [link rel="stylesheet" type="text/css" href="$_BASE/rawnet.css"] [title . $(HTML "$title")] ] [body class="$page" [header [form method=POST action="$_BASE/search/" [input name=search placeholder="Search"] ] $(w_user_login) ][main EOF cat printf ']]]' } |"$_EXEC/cgilite/html-sh.sed" -u } case ${PATH_INFO} in /favicon.ico) printf '%s\r\n' 'Content-Length: 0' '';; *.css) . "${_EXEC}/cgilite/file.sh" FILE "${_EXEC}/${PATH_INFO}" ;; /login/) if [ "$USER_ID" ]; then REDIRECT "${_BASE}/" else yield_page 'RAW:NET Login' login <<-EOF $(w_user_login) EOF fi ;; /register/) yield_page 'RAW:NET Register User' register <<-EOF $(w_user_register) EOF ;; /recover/) yield_page 'RAW:NET Recover Account' recover <<-EOF $(w_user_recover) EOF ;; /|/channel/*) . "${_EXEC}/page_channel.sh";; /playlist/*) . "${_EXEC}/page_playlist.sh";; /search/*) . "${_EXEC}/page_search.sh";; *) . "${_EXEC}/page_404.sh";; esac exit 0