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 || l10n "(unnamed course)" |unescape |HTML)"
+ printf '%s/%s\n' "${file##*/}" "$name"
+ done \
+ | sort -t/ -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
- printf '[input id="%s%i" type="radio" name="filter_type%i" value="%s" %s][label for="%s%i" %s ]' \
+ $(for field in any name street zip TEL BDAY CATEGORIES course; do
+ printf '[input .tab 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)"]
- [fieldset .categories
+ [input .tab type="text" name="filter_text$n" value="$([ "$1" = CATEGORIES -o "$1" = course ] || HTML "$2")" placeholder="$(l10n filter_placeholder)"]
+ [fieldset .tab .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="/cards/categories.sh" $(l10n edit_categories)]
+ [a href="${_BASE}/categories/" $(l10n edit_categories)]
+ ]
+ [fieldset .tab .courses
+ $(list_courses | while IFS=/ 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
w_filter_diag(){
cat <<EOF
- [form .filter action="/cards/filter_card.sh" method="POST"
+ [form .filter action="${_BASE}/cards/filter_card.sh" method="POST"
[h1 $(l10n filter_label)]
[input type="hidden" name="page" value="cards"]
]
[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
}
"$(pdi_value "$card" TEL $c |unescape |HTML)"
done
;;
+ ADR)[ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n "$item")"
+ shy="$(printf '\302\255')"
+ seq 1 $cnt |while read c; do
+ printf '[span .item .%s . %s]' "$item" \
+ "$(pdi_value "$card" "$item" $c |sed -r "s;(straße|weg|damm|allee|ufer);${shy}\1;g" |unescape |HTML)"
+ done
+ ;;
*)[ $cnt -gt 0 ] && printf '[h3 %s]' "$(l10n "$item")"
seq 1 $cnt |while read c; do
printf '[span .item .%s . %s]' "$item" \
EOF
else
N="$(pdi_value "$card" FN |unescape)"
- n1="${N%%[a-z]*}" n1="${N#$n1}"
- [ "$n1" ] || n1="${N##* }"
+ n1="${N##* }"
n2="${N%$n1}"
fi
printf '
[input .item .N name="5N" placeholder="%s" value="%s"]
' "$(l10n "$item")" \
"$(l10n n_pre)" "$(HTML "$n4")" \
- "$(l10n n_first)" "$(HTML "$n2" "$n3")" \
+ "$(l10n n_first)" "$(HTML "${n2}$([ "$n2" -a "$n3" ] && printf ' ')${n3}")" \
"$(l10n n_last)" "$(HTML "$n1")" \
"$(l10n n_post)" "$(HTML "$n5")"
;;