X-Git-Url: http://git.plutz.net/?p=cgilite;a=blobdiff_plain;f=page.sh;h=94d864da2c2f014604add8588bf6bd54e20a0124;hp=ef9df2e3def9271c49ec455cf3d251df17ed4e68;hb=456423f02f12ac71d2d14e1abf959dafdc5eb041;hpb=9b62da2cc5552e018fe8c48360c770446a9a6b55 diff --git a/page.sh b/page.sh index ef9df2e..94d864d 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. # @@ -19,16 +19,11 @@ printf "Content-Type: text/html;charset=utf-8\n\n" -PAGE="$(printf %s "${_GET[p]}" |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="$(printf %s "$each" |sed -r "s:^.*/([^/]*)\.sh$:\1:")" - title="$($each title)" - [ -n "$title" ] && printf '%s\n' "?p=$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" +. "${_EXEC}/templates/frame.html.sh"