X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=pages%2Fattendees.sh;h=9d03cadfdc4a9037c2373e783b5e7957fb7fb995;hp=35e790ec6d934bdcc0e83de4c8f3d7465c892fa1;hb=544144d4e557354fbe5af119c44471e51631680c;hpb=19a85441a8f173c3d2cd3d29fd7d95d2b471bb3c diff --git a/pages/attendees.sh b/pages/attendees.sh index 35e790e..9d03cad 100755 --- a/pages/attendees.sh +++ b/pages/attendees.sh @@ -1,8 +1,16 @@ #!/bin/sh -[ "$_GET[\"choice\"]" = "del_filter" ] && _GET["filter"]="" && _GET["filtertype"]="" +[ -z "$_GET[\"order\"]" ] && _GET["order"]=firstname + +listcourses() { + ls -1 ${_DATA}/ical/*ics |while read file; do + icstime="$(sed -rn 's:^DTSTART\:(TZID=.*\:)?([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z?\r$:\2-\3-\4 \5\:\6\:\7:p' "$file")" + echo "$(date -d "$icstime" "+%u %H%M%S")\t$file" + done |sort |sed -r 's:^.*\t(.*/)([^/]+)$:\2:' +} + listcards() { - case "$_GET["filtertype"]" in + case "$_GET[\"filtertype\"]" in any) grep -il "$_GET[\"filter\"]" ${_DATA}/vcard/*vcf ;; @@ -23,9 +31,31 @@ listcards() { ;; course) ;; - *) ls -1 ${_DATA}/vcard/*vcf + *) ls -1 ${_DATA}/vcard/*vcf 2>/dev/null + ;; + esac |case "$_GET[\"order\"]" in + firstname) + while read file; do + fn=$(sed -rn 's:^N(;.+)*\:([^;]*;){1} *([^;]*).*$:\3:p' "$file") + echo "$fn\t$file" + done + ;; + lastname) + while read file; do + ln=$(sed -rn 's:^N(;.+)*\:([^;]*;){0} *([^;]*).*$:\3:p' "$file") + echo "$ln\t$file" + done + ;; + bdate) + while read file; do + bd=$(sed -rn 's:^BDAY(;.+)*\:(.*)$:\2:p' "$file") + echo "$bd\t$file" + done + ;; + *) + sed -r 's:^.*$:x\t&:' ;; - esac |sed -r 's:^(.*/)([^/]+)$:\2:' + esac |sort |sed -r 's:^.*\t(.*/)([^/]+)$:\2:' } vcf_parse() {