grep -vxE '^[ ]*$' "${_DATA}/mappings/categories"
}
+list_courses() {
+ local file name cachefile="${_DATA}/cache/courses.ui.cache"
+ if [ $cachefile -nt "${_DATA}/ical" ]; then
+ cat "$cachefile"
+ else
+ for file in "$_DATA/ical"/*.ics; do
+ name="$(pdi_value "$(pdi_load "$file")" SUMMARY |HTML)"
+ printf '%s %s\n' "$file" "$name"
+ done \
+ | sort -k2 |tee "$cachefile"
+ fi
+}
+
w_filter_item() {
n=$3
cat <<EOF
[fieldset .item
[legend $(l10n filter_item):]
- $(for field in any name street zip TEL BDAY CATEGORIES; do
+ $(for field in any name street zip TEL BDAY CATEGORIES course; do
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_text$n" value="$([ "$1" = CATEGORIES ] || HTML "$2")" placeholder="$(l10n filter_placeholder)"]
+ [input type="text" name="filter_text$n" value="$([ "$1" = CATEGORIES -o "$1" = course ] || HTML "$2")" placeholder="$(l10n filter_placeholder)"]
[fieldset .categories
$(list_categories | while read cat; do
- printf '[label [checkbox "filter_cat%i" "|%s" %s] %s ]' \
+ printf '[label [checkbox "filter_cat%i" "|%s" %s] %s ] ' \
"$n" "$(HTML "$cat")" \
"$(printf %s "$cat" |grep -qxEe "$2" && printf checked )" \
"$(HTML "$cat")"
done)
[a href="/categories/" $(l10n edit_categories)]
]
+ [fieldset .courses
+ $(list_courses | while read course coursename; do
+ printf '[label [checkbox "filter_course%i" "|%s" %s] %s ] ' \
+ "$n" "$(HTML "${course##*/}")" \
+ "$(printf %s "${course##*/}" |grep -qxEe "$2" && printf checked )" \
+ "$coursename"
+ done)
+ ]
]
EOF
}
]
[button type="submit" name="choice" value="filter" $(l10n filter_apply)]
[button type="submit" name="choice" value="del_filter" $(l10n filter_cancel)]
+ [button type="submit" name="choice" value="export_csv" $(l10n export_csv)]
]
EOF
}