if [ ! -s "$c_tags" -o ! -s "$c_tagcategories" ] \
|| [ "$(find "$_DATA/" -path '*/.index/meta' -newer "$c_tags")" ]
then
- w_tags="$( local cn=1
+ w_tags="$( cn=1
find "$_DATA/" -path '*/.index/meta' -print0 \
- | xargs -r0 sed -r '
+ | xargs -0 -r sed -E '
s;^.*\t.*\t.*\ttags=(.*)\tcomment=.*\t.*\r$;\1;;
- s;,;\n;g;'"$UNSTRING" \
+ s;,;\n;g;' \
| { sort; printf '\n'; } \
| while read -r tag; do
- [ "$tag" = "$otag" ] \
- && cn=$((cn + 1)) \
- || {
- printf "%i %s\n" "$cn" "$otag"
+ if [ "$tag" = "$otag" ]; then
+ cn=$((cn + 1))
+ else
+ printf "%i %s\n" "$cn" "$(UNSTRING "$otag")"
cn=1
- }
+ fi
otag="$tag"
done \
|sort -rn |cut -f2- |HTML \
$n "${t:+checked}" $n $n
f="|${f#\~}|"
- printf '*\n%s\n' "$w_tagcategories" \
+ printf '*\n%s\n$\n' "$w_tagcategories" \
| while read -r category; do
lbid="cat_${n}_${category}"
# printf '[option %s value="%s"\n%s]' "$t" "$tag" "$d"
printf '[label [checkbox "tag_%s" "%s" %s] %s]' "$n" "$tag" "$t" "$d"
done
+ d="${f##*\$:}" d="${d%%\|*}"
+ [ "$category" = \$ ] && printf '[input name="tag_%i" value="%s"]' "$n" "$(HTML "$d")"
printf '\n]'
done
printf ']'