#!/bin/zsh
-# Copyright 2014,2015 Paul Hänsch
+# Copyright 2014 - 2016 Paul Hänsch
#
# This file is part of shcgi.
#
printf "Content-Type: text/html;charset=utf-8\n\n"
-[ -z "$PAGE" ] && PAGE="$(printf %s "${_GET[page]}" |egrep '^[a-zA-Z0-9_-]+$')"
+PAGE=$(validate "${PAGE:-${_GET[page]}}" '[a-zA-Z0-9_-]+' error)
[ -x "${_EXEC}/pages/${PAGE}.sh" ] || PAGE="error"
[ -z "$NAVIGATION" ] && NAVIGATION=($(printf %s\\n "${_EXEC}"/pages/*.sh |sed -r 's;^.*/([^/]*)\.sh$;\1;'))
-CSS="${_EXEC}/templates/${PAGE}.css.sh"
-BODY="${_EXEC}/templates/${PAGE}.html.sh"
+CSS="${CSS:-${_EXEC}/templates/${PAGE}.css.sh}"
+BODY="${BODY:-${_EXEC}/templates/${PAGE}.html.sh}"
. "${_EXEC}/pages/${PAGE}.sh"
. "${_EXEC}/templates/frame.html.sh"