#!/bin/bash if [ "$REQUEST_URI" = '/favicon.ico' ]; then exit 0 fi SCRIPT_DIR="$( cd "$( dirname "$(readlink -f "$0")" )" >/dev/null 2>&1 && pwd )" source ./config.sh RESPONSE_CONTENT_TYPE="text/html" STATUS=200 EXTRA_HEADERS= HEADER_TITLE='cd programadores/;cd Jefferson\ Julio/;source jefferson.sh' HEADER_TITLE_MOBILE="$HEADER_TITLE" urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; } status-ok () { [ "$STATUS" -gt 199 ] && [ "$STATUS" -lt 300 ] && echo 1 } strip-html-tags () { echo "$1" | sed 's/<[^>]*>//g' } sanitize-filename () { echo "${1// /\\ }" } scape-regex () { echo "$1" | sed 's/(/\\(/g' | sed 's/)/\\)/g' | sed 's/|/\\|/g' } sanitize-html-entities () { echo "$1" | sed 's//\>/g' } html () { cat < jefferson.sh $(source ./header.sh) $(source ./nav.sh)
$BODY
$(source ./footer.sh) HTML } router () { REQUEST_URI=$(urldecode "$REQUEST_URI") if [ "$REQUEST_METHOD" = "GET" ]; then case "$REQUEST_URI" in /) BODY=$(source ./pages/home.sh) ;; /contato) HEADER_TITLE="source pages/contato.sh" HEADER_TITLE_MOBILE="$HEADER_TITLE" BODY=$(source ./pages/contato.sh) ;; /$ARTICLES_PATH*) ARTICLE_FILE=.$REQUEST_URI HEADER_TITLE="ARTICLE_FILE=$(sanitize-filename "$ARTICLE_FILE");source pages/article.sh" HEADER_TITLE_MOBILE="ARTICLE_FILE=$(sanitize-filename "$ARTICLE_FILE");source pages/article.sh" BODY=$(source ./pages/article.sh) ;; *) STATUS=404 HEADER_TITLE="REQUEST_FILE=.$(sanitize-filename "$REQUEST_URI");source page.sh" HEADER_TITLE_MOBILE="$HEADER_TITLE" BODY="

404: .$REQUEST_URI: Arquivo ou diretório inexistente

" ;; esac elif [ "$REQUEST_METHOD" = "POST" ]; then source $SCRIPT_DIR/lib/cgibashopts/cgibashopts POST_DESTINATION="$FORM_destination" if [[ ! " ${ALLOWED_POST_FOLDERS[@]} " =~ " ${POST_DESTINATION} " ]]; then STATUS=401 HEADER_TITLE="POST_DESTINATION=$POST_DESTINATION;source jefferson.sh" HEADER_TITLE_MOBILE="$HEADER_TITLE" BODY="$(cat < 401: .$POST_DESTINATION: Destino inválido, sem 1337 o suficiente.

ERR )" return 1 fi POST_PATH="/pages$POST_DESTINATION" POST_DESTINATION="${SCRIPT_DIR}/pages$POST_DESTINATION" mkdir -p "$POST_DESTINATION" case "$REQUEST_URI" in /post) source $SCRIPT_DIR/utils/handle-post-upload.sh ;; *) STATUS=404 HEADER_TITLE="REQUEST_FILE=.$(sanitize-filename "$REQUEST_URI");source page.sh" HEADER_TITLE_MOBILE="$HEADER_TITLE" BODY="

404: .$REQUEST_URI: Arquivo ou diretório inexistente

" ;; esac fi } router case "$RESPONSE_CONTENT_TYPE" in "text/html") RESPONSE_BODY=$(html) ;; *) RESPONSE_BODY=$BODY esac cat <