- n=''
- while [ -n "$_POST[\"filter${fn}_$n\"]" ]; do
- filter="$(echo "$_POST[\"filter${fn}_$n\"]" |sed 's/\t/ /g;s/\r//g;s/\\/\\\\/g' |head -n1)"
- egrep -q '(^|\^|\||!)$' <<<"${filters}" || filters="${filters}|"
- filters="${filters}${filter}"
- [ -z "$n" ] && n=0 || n=$(($n + 1))
- done
-
- n=''
- while [ -n "$_POST[\"cfilter${fn}_$n\"]" ]; do
- cfilter="$(echo "$_POST[\"cfilter${fn}_$n\"]" |sed 's/\t/ /g;s/\r//g;s/\\/\\\\/g' |head -n1)"
- egrep -q '(^|\^|\||!)$' <<<"${filters}" || filters="${filters}|"
- filters="${filters}${category}:${cfilter}"
- [ -z "$n" ] && n=0 || n=$(($n + 1))
+ if [ -z "$n" ]; then
+ [ -n "$filters" ] && filters="${filters}^"
+ [ "${_POST[type$fn]}" = 'neg' ] && filters="${filters}!"
+ n=0
+ else
+ filters="${filters}|"
+ n=$(($n + 1))
+ fi
+ [ "$category" = "none" ] && filters="${filters}${cfilter}" \
+ || filters="${filters}${category}:${cfilter}"