X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=handlers%2F90_brackets.sh;h=ce49b0e9a36fd9456d74d99950da40609f5d5a1d;hb=4ad62632e520c153517f8e98ef87543fea0d2c7c;hp=f509294c69f470217dc7adc32a8d6844bc7da45e;hpb=190657ed71861114213d0bd8128bd157a69f17ff;p=shellwiki diff --git a/handlers/90_brackets.sh b/handlers/90_brackets.sh index f509294..ce49b0e 100755 --- a/handlers/90_brackets.sh +++ b/handlers/90_brackets.sh @@ -1,11 +1,17 @@ #!/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 @@ -14,6 +20,11 @@ case "${PATH_INFO}" in fi return 0 ;; + *) + if [ -d "$_DATA/pages${PATH_INFO}/" -o -d "$_EXEC/pages${PATH_INFO}/" ]; then + REDIRECT "${_BASE}${PATH_INFO}/" + fi + ;; esac return 1