# You should have received a copy of the GNU Affero General Public License
# along with Confetti. If not, see <http://www.gnu.org/licenses/>.
+list_categories() {
+ grep -vxE '^[ ]*$' "${_DATA}/mappings/categories"
+}
+
w_filter_item() {
+n=$3
cat <<EOF
[fieldset .item
[legend $(l10n filter_item):]
- [input type="hidden" name="filter${n}" value="^"]
$(for field in any name street zip TEL BDAY CATEGORIES; do
- printf '[input id="%s%i" type="radio" name="filter%i" value="%s" %s]
- [label for="%s%i" %s]' \
- "$field" "$n" "$((n + 1))" "$field" "$([ "$1" = "$field" ] && printf checked )" \
+ printf '[input id="%s%i" type="radio" name="filter_type%i" value="%s" %s]
+ [label for="%s%i" %s ]' \
+ "$field" "$n" "$n" "$field" "$([ "$1" = "$field" ] && printf checked )" \
"$field" "$n" "$(l10n filter_$field)"
done)
- [input type="text" name="filter$((n + 2))" value="$([ "$1" = CATEGORIES ] || HTML "$2")" placeholder="$(l10n filter_placeholder)"]
+ [input type="text" name="filter_text$n" value="$([ "$1" = CATEGORIES ] || HTML "$2")" placeholder="$(l10n filter_placeholder)"]
[fieldset .categories
- $(m=3; list_categories | while read cat; do
- printf '[label [checkbox "filter%i" "|%s" %s] %s ]' \
- "$((n + m))" "$(HTML "$cat")" \
- "$(printf %s "$cat" |grep -qEx "$2" && printf checked )" \
+ $(list_categories | while read cat; do
+ printf '[label [checkbox "filter_cat%i" "|%s" %s] %s ]' \
+ "$n" "$(HTML "$cat")" \
+ "$(printf %s "$cat" |grep -qxEe "$2" && printf checked )" \
"$(HTML "$cat")"
- m=$((m + 1))
done)
[a href="?p=categories" $(l10n edit_categories)]
]
[h1 $(l10n filter_label)]
[input type="hidden" name="page" value="cards"]
- $(
- n=0; m="$(list_categories |wc -l)"
- printf '%s\n' "$filter" |tr '^' '\n' \
- | while read filter; do
- [ -n "$filter" ] && w_filter_item "${filter%%:*}" "${filter#*:}" "$n"
- n=$((n + 3 + m))
- done
- w_filter_item any '' "$n"
+ $(n=0; filter="${filter}^"
+ while [ "${filter#^}" ]; do
+ fil="${filter%%^*}" filter="${filter#*^}"
+ w_filter_item "${fil%%:*}" "${fil#*:}" $n
+ n=$((n + 1))
+ done
+ w_filter_item any '' $n
)
[fieldset class="order"