+attachment_glob(){
+ local pattern="${1%/}" IFS=''
+ local glob page pagedir
+
+ page="${pattern%/*}"
+ [ "$page" = "$pattern" ] && page=.
+ [ ! "$page" ] && page=/
+ pattern="${pattern##*/}"
+ [ ! "$pattern" ] && pattern="*"
+
+ case $page in
+ /*)
+ for glob in "$_DATA/pages/$page/#attachments"/$pattern; do printf '%s\n' "${glob#"$_DATA/pages"}"; done
+ for glob in "$_EXEC/pages/$page/#attachments"/$pattern; do printf '%s\n' "${glob#"$_EXEC/pages"}"; done
+ ;;
+ *)
+ for glob in "$_DATA/pages/$PATH_INFO/$page/#attachments"/$pattern; do printf '%s\n' "${glob#"$_DATA/pages/$PATH_INFO/"}"; done
+ for glob in "$_EXEC/pages/$PATH_INFO/$page/#attachments"/$pattern; do printf '%s\n' "${glob#"$_EXEC/pages/$PATH_INFO/"}"; done
+ ;;
+ esac \
+ | sort -u \
+ | while read -r glob; do
+ pagedir="$(page_abs "${glob%%/#attachments/*}/")"
+ [ -d "$_DATA/pages/$pagedir" -o -d "$_EXEC/pages/$pagedir" ] \
+ && printf '%s\n' "${glob%%/#attachments/*}/${glob#*/#attachments/}"
+ done
+}
+