X-Git-Url: http://git.plutz.net/?p=cgilite;a=blobdiff_plain;f=page.sh;h=def728041a6cd837d2d443bcc9ae53a8e72c0088;hp=5726ed9d8d39d2cf18e32647d3ca18891a3c394f;hb=1a1d111199b770c092e1b16a7e03568d3d911b79;hpb=3ff1de1d7bf98b5ee3c30a21737a31196bcb6ec3 diff --git a/page.sh b/page.sh index 5726ed9..def7280 100755 --- a/page.sh +++ b/page.sh @@ -1,6 +1,6 @@ #!/bin/zsh -# Copyright 2014,2015 Paul Hänsch +# Copyright 2014 - 2016 Paul Hänsch # # This file is part of shcgi. # @@ -17,15 +17,17 @@ # You should have received a copy of the GNU Affero General Public License # along with shcgi. If not, see . -printf "Content-Type: text/html;charset=utf-8\n\n" +. "${_EXEC}/shcgi/forms.sh" -[ -z "$PAGE" ] && PAGE="$(printf %s "${_GET[page]}" |egrep '^[a-zA-Z0-9_-]+$')" -[ -x "${_EXEC}/pages/${PAGE}.sh" ] || PAGE="error" +[ -z "$NAVIGATION" ] \ +&& NAVIGATION=($(printf %s\\n "${_EXEC}"/pages/*.sh |sed -r 's;^.*/([^/]*)\.sh$;\1;')) -[ -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" + +# prevent browsers from caching generated pages +printf "Cache-Control: no-cache, no-store, must-revalidate\r\nPragma: no-cache\r\nExpires: 0\r\n" +printf "Content-Type: text/html;charset=utf-8\r\n\r\n" . "${_EXEC}/templates/frame.html.sh"