]> git.plutz.net Git - cgilite/blobdiff - page.sh
shorthand html
[cgilite] / page.sh
diff --git a/page.sh b/page.sh
index fce83fb067e379ece27a4f291a80fc80d05ef839..def728041a6cd837d2d443bcc9ae53a8e72c0088 100755 (executable)
--- 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 <http://www.gnu.org/licenses/>. 
+# along with shcgi.  If not, see <http://www.gnu.org/licenses/>. 
 
-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"