X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=index.cgi;h=1c4e7175ddf83f25dae4d7dc84ef7dd125734433;hp=ee0d6f7200900df4e43ba1a2347da90fca72006b;hb=HEAD;hpb=5b8d1b752ede7a6dc4250620ca58971447570a76 diff --git a/index.cgi b/index.cgi index ee0d6f7..276965f 100755 --- a/index.cgi +++ b/index.cgi @@ -3,11 +3,13 @@ for n in "$@"; do case ${n%%=*} in data) _DATA="${n#data=}";; exec) _EXEC="${n#exec=}";; + base) _BASE="${n#base=}";; debug) DEBUG="${n#debug=}";; esac; done [ ! "${_EXEC%/}" ] && _EXEC="$(realpath "${0%/*}")" || _EXEC="${_EXEC%/}" -[ ! "${_DATA%/}" ] && _DATA=. || _DATA="${_DATA%/}" +[ ! "${_DATA%/}" ] && _DATA="${PWD%/}" || _DATA="${_DATA%/}" +_BASE="${_BASE%/}" [ "$DEBUG" ] && exec 2>>"$DEBUG" mkdir -p "${_DATA}/cache" "${_DATA}/mappings" "${_DATA}/export" "${_DATA}/lock" "${_DATA}/ical" "${_DATA}/vcard" @@ -29,6 +31,7 @@ debug() { . "$_EXEC/l10n.sh" _PATH="$(PATH "/${PATH_INFO}")" +_PATH="${_PATH#${_BASE}}" ACTION="$(GET a)" message="$(COOKIE message)" @@ -52,15 +55,16 @@ yield_page() { [html [head [title Confetti] [meta name="viewport" content="width=device-width"] - [link rel="stylesheet" type="text/css" href="/style.css"] - ' + [link rel="stylesheet" type="text/css" href="%s/cgilite/common.css"] + [link rel="stylesheet" type="text/css" href="%s/style.css"] + ' "${_BASE}" "${_BASE}" [ -n "$style" ] && printf ' [link rel="stylesheet" type="text/css" href="%s"] ' "$style" printf ' ] [body #top class="%s" ' "$class" - printf '[ul .menu [li [a "/cards/" . %s]][li [a "/courses/" . %s]]]' "$(l10n cards)" "$(l10n courses)" + printf '[ul .menu [li [a "%s/cards/" . %s]][li [a "%s/courses/" . %s]]]' "${_BASE}" "$(l10n cards)" "${_BASE}" "$(l10n courses)" [ "$message" ] && printf '[p #message\n%s\n]' "$(l10n "$message")" cat printf '] ]' @@ -72,12 +76,12 @@ topdir="${_PATH#/}" topdir="/${topdir%%/*}" case ${_PATH} in - /) REDIRECT /cards/ + "/") REDIRECT "${_BASE}/cards/" ;; - /export/*.pdf) . "$_EXEC/cgilite/file.sh" + "/export"/*.pdf) . "$_EXEC/cgilite/file.sh" FILE "${_DATA}/${_PATH}" "application/pdf" ;; - /export/*) . "$_EXEC/cgilite/file.sh" + "/export"/*) . "$_EXEC/cgilite/file.sh" FILE "${_DATA}/${_PATH}" ;; *)