#!/bin/sh
-CACHE_AGE=${CACHE_AGE:-1800}
+. "$_EXEC/cgilite/file.sh"
+
+CACHE_AGE=${CACHE_AGE:-300}
export MD_MACROS="$_EXEC/macros"
export MD_HTML="${MD_HTML:-false}"
-export WIKI_THEME=${WIKI_THEME:-default}
-
-. "$_EXEC/themes/${WIKI_THEME}.sh"
wiki() {
# Print content of a wiki page
case "${PATH_INFO}" in
/"[.]"/*)
+ # usually some file related to theme
+ # let file server handle errors
FILE "${_EXEC}/${PATH_INFO#/\[.\]}"
return 0
;;
theme_error 400
return 0
;;
- */\[*\]/*)
+ */\[*\]/*|*/\[*\])
+ # looks like some kind of handler
return 1
;;
*/)
- theme_page "${PATH_INFO}"
+ if [ ! "$(mdfile "$PATH_INFO")" ]; then
+ theme_error 404
+ elif ! acl_read "$PATH_INFO"; then
+ theme_error 403
+ else
+ theme_page "${PATH_INFO}"
+ fi
return 0
;;
esac