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
#!/bin/sh
case "${PATH_INFO}" in
- */\[revision\]|*/\[revision\]/)
- if ! acl_read "${PATH_INFO%\[revision\]?}"; then
+ */\[revision\]/)
+ REDIRECT "${_BASE}/${PATH_INFO%/}"
+ ;;
+ */\[revision\])
+ if ! acl_read "${PATH_INFO%\[revision\]}"; then
theme_error 403
else
- theme_revisions "${PATH_INFO%\[revision\]?}"
+ theme_revisions "${PATH_INFO%\[revision\]}"
fi
return 0
;;
main .pagemenu li a { color: #FFF; }
main article,
-[id$="/[attachment]/"] main form.upload {
+[id$="/[attachment]"] main form.upload {
margin: 1em;
padding: .125em 1em 1em 1em;
box-shadow: .25em .25em .75em;
background-color: #FFF;
}
-[id$="/[attachment]/"] main .attachment.list {
+[id$="/[revision]"] main .revisions,
+[id$="/[attachment]"] main .attachment.list {
margin: 1em;
padding: 1em 2em;
}
-[id$="/[attachment]/"] main .attachment.list:before {
+[id$="/[revision]"] main .revisions:before,
+[id$="/[attachment]"] main .attachment.list:before {
content: '';
position: absolute;
top: 0; bottom: 0; left: 0; right: 0;
/* === Editor === */
-body.editor textarea {
+body[id$="/[edit]"] textarea {
width: 100%;
min-height: 20em; min-height: 70vh;
font-family: monospace;
margin-right: 1em;
}
+.revisions li { margin: 1em 0; }
+.revisions li span.hash,
+.revisions li span.date {
+ margin-right: 1em;
+}
/* === Macros === */