#!/bin/sh
-# spacial case for bracket pages that are not handled otherwise
+# special case for odd pages that are not handled otherwise
+# usually those pages look like handlers (i.e. containing brackets)
+# but are not
# attachment and edit (and really all) handlers should take precedence
case "${PATH_INFO}" in
- */\[*\]/*)
- if [ ! "$(mdfile "${PATH_INFO}")" ]; then
+ */\[view\])
+ # explicit view handler for linking
+ REDIRECT "${_BASE}${PATH_INFO%\[view\]}"
+ ;;
+ */)
+ if ! mdfile "${PATH_INFO}" >&-; then
theme_error 404
elif ! acl_read "${PATH_INFO}"; then
theme_error 403
fi
return 0
;;
+ *)
+ if [ -d "$_DATA/pages${PATH_INFO}/" -o -d "$_EXEC/pages${PATH_INFO}/" ]; then
+ REDIRECT "${_BASE}${PATH_INFO}/"
+ fi
+ ;;
esac
return 1