X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=pages%2Fattendees.sh;h=32f651bd9af35ce1387fddd9b25522b69bc987d9;hp=35e790ec6d934bdcc0e83de4c8f3d7465c892fa1;hb=c195881a2389862d4bfcd2fd55ca868f7a20b8e8;hpb=19a85441a8f173c3d2cd3d29fd7d95d2b471bb3c diff --git a/pages/attendees.sh b/pages/attendees.sh index 35e790e..32f651b 100755 --- a/pages/attendees.sh +++ b/pages/attendees.sh @@ -1,8 +1,7 @@ #!/bin/sh -[ "$_GET[\"choice\"]" = "del_filter" ] && _GET["filter"]="" && _GET["filtertype"]="" listcards() { - case "$_GET["filtertype"]" in + case "$_GET[\"filtertype\"]" in any) grep -il "$_GET[\"filter\"]" ${_DATA}/vcard/*vcf ;; @@ -23,9 +22,31 @@ listcards() { ;; course) ;; - *) ls -1 ${_DATA}/vcard/*vcf + *) ls -1 ${_DATA}/vcard/*vcf 2>/dev/null ;; - esac |sed -r 's:^(.*/)([^/]+)$:\2:' + 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 |sort |sed -r 's:^.*\t(.*/)([^/]+)$:\2:' } vcf_parse() {