X-Git-Url: http://git.plutz.net/?p=cgilite;a=blobdiff_plain;f=page.sh;h=def728041a6cd837d2d443bcc9ae53a8e72c0088;hp=fce83fb067e379ece27a4f291a80fc80d05ef839;hb=1a1d111199b770c092e1b16a7e03568d3d911b79;hpb=914662b3dbecfe34126991cfdb2a9049f2a9a29a diff --git a/page.sh b/page.sh index fce83fb..def7280 100755 --- a/page.sh +++ b/page.sh @@ -1,34 +1,33 @@ #!/bin/zsh -# Copyright 2014 Paul Hänsch +# Copyright 2014 - 2016 Paul Hänsch # -# This file is part of Serve0. +# This file is part of shcgi. # -# Serve0 is free software: you can redistribute it and/or modify +# shcgi is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # -# Serve0 is distributed in the hope that it will be useful, +# shcgi is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License -# along with Serve0. If not, see . +# along with shcgi. If not, see . -echo -n "Content-Type: text/html;charset=utf-8\n\n" +. "${_EXEC}/shcgi/forms.sh" -PAGE="$(echo "$_GET[\"page\"]" |egrep '^[a-zA-Z0-9_-]+$')" -PAGE="${_EXEC}/pages/${PAGE}.sh" -[ -x "$PAGE" ] || PAGE="${_EXEC}/pages/error.sh" +[ -z "$NAVIGATION" ] \ +&& NAVIGATION=($(printf %s\\n "${_EXEC}"/pages/*.sh |sed -r 's;^.*/([^/]*)\.sh$;\1;')) -NAVIGATION() { - for each in "${_EXEC}"/pages/*.sh; do - link="$(echo "$each" |sed -r "s:^.*/([^/]*)\.sh$:\1:")" - title="$($each title)" - [ -n "$title" ] && echo "/?page=$link $title" - done -} +CSS="${CSS:-${_EXEC}/templates/${PAGE}.css.sh}" +BODY="${BODY:-${_EXEC}/templates/${PAGE}.html.sh}" -. ${_EXEC}/templates/frame.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"