#!/bin/sh
+. "$_EXEC/cgilite/file.sh"
+
attachment_convert(){
local attpath="$1"
local cachepath="${attpath%/#attachments/*}/#cache/${attpath#*/#attachments/}"
case ${PATH_INFO} in
*/\[attachment\]/)
+ REDIRECT "${_BASE}${PATH_INFO%/}"
+ ;;
+ */\[attachment\])
tsid="$(POST session_key)"; tsid="${tsid%% *}"
attachment_delete="$(POST delete)"
- if [ "${CONTENT_TYPE%%;*}" = "multipart/form-data" ] && acl_write "${PATH_INFO%\[attachment\]/}"; then
+ if [ "${CONTENT_TYPE%%;*}" = "multipart/form-data" ] && acl_write "${PATH_INFO%\[attachment\]}"; then
. "$_EXEC/multipart.sh"
multipart_cache
return 0
fi
- mkdir -p "$_DATA/pages/${PATH_INFO%/\[attachment\]/}/#attachments/"
+ mkdir -p "$_DATA/pages/${PATH_INFO%/\[attachment\]}/#attachments/"
n=1; while filename=$(multipart_filename "file" "$n"); do
filename="$(printf %s "$filename" |tr /\\0 __)"
- multipart "file" "$n" >"$_DATA/pages/${PATH_INFO%/\[attachment\]/}/#attachments/$filename"
+ multipart "file" "$n" >"$_DATA/pages/${PATH_INFO%/\[attachment\]}/#attachments/$filename"
n=$((n + 1))
done
rm -- "$multipart_cachefile"
head -c $((CONTENT_LENGTH)) >/dev/null
return 0
elif [ "$attachment_delete" -a "$SESSION_ID" = "$tsid" ]; then
- rm -- "$_DATA/pages/${PATH_INFO%/\[attachment\]/}/#attachments/$attachment_delete"
+ rm -- "$_DATA/pages/${PATH_INFO%/\[attachment\]}/#attachments/$attachment_delete"
REDIRECT "${_BASE}${PATH_INFO}"
elif [ "$attachment_delete" ]; then
printf 'Refresh: %i\r\n' 4
theme_error 403
return 0
- elif acl_read "${PATH_INFO%\[attachment\]/}"; then
- theme_attachments "${PATH_INFO%\[attachment\]/}"
+ elif acl_read "${PATH_INFO%\[attachment\]}"; then
+ theme_attachments "${PATH_INFO%\[attachment\]}"
return 0
else
theme_error 404