]> git.plutz.net Git - confetti/blobdiff - actions/generate_courselist.sh
dirty fix: do not mess up with empty tags
[confetti] / actions / generate_courselist.sh
index b0897c4fdee3d6072fe2369d13ab69730d1c5202..71eb80abcf162cc213bf19bc1cdcfb3705abc1c5 100755 (executable)
@@ -19,8 +19,8 @@
 
 pdflatex="$(where pdflatex |head -n1 || echo false)"
 course="${_GET[course]}"
-fromdate=$_GET[fromdate]
-fromdate=$(date -d "$fromdate" +%s)
+fromdate="${_GET[fromdate]}"
+fromdate="$(date -d "$fromdate" +%s)" 2>/dev/null
 [ -z "$fromdate" ] && fromdate=$(date +%s)
 
 . ${_EXEC}/pages/courses.sh
@@ -64,15 +64,22 @@ list_attendee() {  #Parameter: Cardfile
     esac
   done
 
+  n=$(printf %s "$values[N]" \
+      | sed -rn 's:^([^;]*)(;[^;]*)(;[^;]*)?(;[^;]*)?(;[^;]*)?$:\4 \2 \3 \1 \5:gp' \
+      | sed -r 's:,: :;s:;: :g;s: +: :g;s:^ $::;'
+     )
+  fullname="${n:-${values[FN]:-${values[NICKNAME]}}}"
+
   tel=''
   for n in TEL TEL{0..10}; do if (echo "$values[$n]" |grep -Eq '[0-9]'); then
     [ -n "$tel" ] && tel="$tel\\newline $values[$n]" || tel="$values[$n]"
   fi; done
+
   note=''
   for n in NOTE NOTE{0..10}; do if [ -n "$values[$n]" ]; then
     [ -n "$note" ] && note="$note\\newline $values[$n]" || note="$values[$n]"
   fi; done
-  echo -E "$values[FN] & $values[BDAY] & $tel & $note"
+  echo -E "$fullname & $values[BDAY] & $tel & $note"
 }
 
 get_dates() {  #Parameter: Calendarfile
@@ -117,7 +124,7 @@ get_dates() {  #Parameter: Calendarfile
   rrule="$values[RRULE]"
   rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')"
   rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')"
-  case "$rr_freq" in;
+  case "$rr_freq" in
     YEARLY) rec="$rr_int year";;
     MONTHLY) rec="$rr_int month";;
     DAILY) rec="$rr_int day";;