]> git.plutz.net Git - confetti/blobdiff - pages/attendees.sh
visual updates, allow ordering of vcards
[confetti] / pages / attendees.sh
index 35e790ec6d934bdcc0e83de4c8f3d7465c892fa1..e3e27c2d9d0b9c5d0ffd3aaf4491f67e906b92ac 100755 (executable)
@@ -2,7 +2,7 @@
 
 [ "$_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
       ;;
@@ -25,7 +25,29 @@ listcards() {
       ;;
     *) ls -1 ${_DATA}/vcard/*vcf
       ;;
-  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() {