w_tags="$_DATA/.index/tags.cache"; w_tagcategories="$_DATA/.index/tagcategories.cache"
if [ ! -f "$w_tags" -o ! -f "$w_tagcategories" ] \
- || [ "$(find "$_DATA/" -path '*/.index/meta' -newer "$w_tags" -quit)" ]
+ || [ "$(find "$_DATA/" -path '*/.index/meta' -newer "$w_tags")" ]
then
w_tags="$( { local cn=1
find "$_DATA/" -path '*/.index/meta' -print0 \
}
w_index(){
- [ -d "$_DATA/$ITEM/.index" ] || printf '
+ [ -d "$_DATA/$ITEM/.index" ] && return 1 || printf '
[form #index method="POST" action="?a=spawnindex"
[hidden "ref" "%s"]
[label Set up for Index view: ]
[submit "spawn" "spawn" Set up]
]
' "$w_refuri"
+ return 0
}
w_advsearch(){
printf '%s\n' "$w_tags" \
| { [ "$category" = '*' ] && grep -avF ':' || grep -awF "${category}"; } \
- | { for n in 1 2 3 4 5 6 7 8 9 0; do line || break; done; sort; } \
- | while read -r tag; do
+ | { for n in 1 2 3 4 5 6 7 8 9 0; do
+ read -r line && printf '%s\n' "$line" || break;
+ done; # path 10 lines through without modification
+ sort; # and sort remaining lines
+ } | while read -r tag; do
[ "$tag" ] || continue
t=''; [ ! "${f%%*|${tag}|*}" ] && t=checked
printf '[option %s value="%s"\n%s]' "$t" "$tag" "${tag#*:}"
printf '[fieldset [legend %s:][select name=tag size=4 multiple' "$category"
printf %s "$w_tags" \
| { [ "$category" = 'Tags' ] && grep -avF ':' || grep -awF "${category}"; } \
- | { for n in 1 2 3 4 5 6 7 8 9 0; do line || break; done; sort; } \
- | while read -r tag; do
+ | { for n in 1 2 3 4 5 6 7 8 9 0; do
+ read -r line && printf '%s\n' "$line" || break
+ done;
+ sort;
+ } | while read -r tag; do
[ "$tag" ] || continue
printf '[option value="%s"\n%s]' "$tag" "${tag#*:}"
done