]> git.plutz.net Git - confetti/blobdiff - pages/attendees.sh
escape certain characters before passing to eval (\, $, and `)
[confetti] / pages / attendees.sh
index dfa7dfbf9d6654b3fcae9c2eccbdae9390288e5a..f40f82dc6da1c8c818e6367d63ff74d21f8e900a 100755 (executable)
@@ -1,5 +1,14 @@
 #!/bin/sh
 
+[ -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
     any)
@@ -22,7 +31,7 @@ listcards() {
       ;;
     course)
       ;;
-    *) ls -1 ${_DATA}/vcard/*vcf
+    *) ls -1 ${_DATA}/vcard/*vcf 2>/dev/null
       ;;
   esac |case "$_GET[\"order\"]" in
     firstname)
@@ -174,7 +183,8 @@ vcf_parse() {
             done
        ;;
     esac
-  done
+  done \
+  | sed -r 's:[\\$`]:\\&:g'
 }
 
 view_attendee() {  #Parameter: Cardfile