fi
REDIRECT "${_BASE}${PATH_INFO}"
+elif [ "$action" = rename ]; then
+ fail='' success=''
+ set --
+
+ for file in "${_DATA}/pages${page}#attachments"/*; do
+ rename="$(POST rename_"$(slopecode "${file##*/}" |sed 's;=;%3D;g')")"
+
+ if [ "$REV_ATTACHMENTS" = true -a \
+ -f "${file}" -a \
+ "$rename" -a \
+ "${rename%/*}" = "${rename}" -a \
+ ! -e "${_DATA}/pages${page}#attachments/${rename}" ] \
+ && git -C "$_DATA" mv -- "pages${page}#attachments/${file##*/}" "pages${page}#attachments/${rename}"; then
+ success="${success}$(HTML "${file##*/}/${rename}")${BR}"
+ set -- "$@" "pages${page}#attachments/${file##*/}" "pages${page}#attachments/${rename}"
+
+ elif [ "$REV_ATTACHMENTS" = true -a "${rename}" ]; then
+ fail="${fail}$(HTML "${file##*/}/${rename}")${BR}"
+
+ elif [ -f "${file}" -a \
+ "$rename" -a \
+ "${rename%/*}" = "${rename}" -a \
+ ! -e "${_DATA}/pages${page}#attachments/${rename}" ] \
+ && mv -- "${file}" "${_DATA}/pages${page}#attachments/${rename}"; then
+ success="${success}$(HTML "${file##*/}/${rename}")${BR}"
+
+ elif [ "${rename}" ]; then
+ fail="${fail}$(HTML "${file##*/}/${rename}")${BR}"
+
+ fi
+ done
+
+ if [ "$REV_ATTACHMENTS" = true -a $# -gt 2 ]; then
+ git -C "$_DATA" commit -qm \
+ "Attachment files renamed by @ $USER_NAME @" -- "$@"
+ elif [ "$REV_ATTACHMENTS" = true -a $# -eq 2 ]; then
+ git -C "$_DATA" commit -qm \
+ "Attachment file renamed by @ $USER_NAME @" -- "$@"
+ fi
+
+ if [ "$success" -a "$fail" ]; then
+ printf "%s\r\n" "Status: 500 Internal Server Error"
+ theme_page - "Attachment rename" <<-EOF
+ <h1 class="rename partial">Some files could not be renamed</h1>
+ <h2 class="rename success">Successfully renamed:</h2>
+ <ul class="rename success">
+ $(printf %s "$success" |while read html; do
+ printf '<li><span class=from>%s</span> -> <span class=to>%s</span></li>' \
+ "${html%%/*}" "${html##*/}"
+ done)
+ </ul>
+ <h2 class="rename fail">Errors:</h2>
+ <ul class="rename fail">
+ $(printf %s "$fail" |while read html; do
+ printf '<li><span class=from>%s</span> -> <span class=to>%s</span></li>' \
+ "${html%%/*}" "${html##*/}"
+ done)
+ </ul>
+ <a class="button rename fail" href="[attachment]">OK</a>
+ EOF
+ exit 0
+
+ elif [ "$fail" ]; then
+ printf "%s\r\n" "Status: 500 Internal Server Error"
+ theme_page - "Attachment rename" <<-EOF
+ <h1 class="rename fail">Files could not be renamed</h1>
+ <ul class="rename fail">
+ $(printf %s "$fail" |while read html; do
+ printf '<li><span class=from>%s</span> -> <span class=to>%s</span></li>' \
+ "${html%%/*}" "${html##*/}"
+ done)
+ </ul>
+ <a class="button rename fail" href="[attachment]">OK</a>
+ EOF
+ exit 0
+
+ elif [ "$success" ]; then
+ printf 'Refresh: %i\r\n' 4
+ theme_page - "Attachment rename" <<-EOF
+ <h1 class="rename success">Files were renamed</h1>
+ <ul class="rename success">
+ $(printf %s "$success" |while read html; do
+ printf '<li><span class=from>%s</span> -> <span class=to>%s</span></li>' \
+ "${html%%/*}" "${html##*/}"
+ done)
+ </ul>
+ <a class="button rename success" href="[attachment]">OK</a>
+ EOF
+ exit 0
+
+ else
+ REDIRECT "${_BASE}${PATH_INFO}"
+
+ fi
fi
return 1