X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=actions%2Fupdate_course.sh;h=a5ba8cee56ba68afb78ac0e817bd527fd80c00df;hp=e98892e8451bbb6777cdb1678db1aac8599caaee;hb=7bd4ca5aa2d41bfcc8181714e2d834b3c152b778;hpb=4e49d483fd5121fda86a33cf583c15afa6556ad1 diff --git a/actions/update_course.sh b/actions/update_course.sh index e98892e..a5ba8ce 100755 --- a/actions/update_course.sh +++ b/actions/update_course.sh @@ -1,6 +1,6 @@ #!/bin/zsh -# Copyright 2014 Paul Hänsch +# Copyright 2014, 2015 Paul Hänsch # # This file is part of Confetti. # @@ -22,6 +22,7 @@ cgi_post course="${_POST[course]}" tempfile="temp/$course" coursefile="ical/$course" +attfile="$_DATA/mappings/attendance" # DURATION: uid="${_POST[UID]}" @@ -91,6 +92,21 @@ case "${_POST[action]}" in echo -n "Location: ?p=courses&edit=$course\n\n" ;; update) + attendance=() + for att in attendance attendance{0..100}; do + [ -n "${_POST[$att]}" ] && attendance+=("${_POST[$att]}") + done + sed -rn 's:^'$course'\t(.+)$:\1:p' "$attfile" |while read card; do + touch "$_DATA/vcard/$card" + done + sed -i -r '/^'$course'\t(.+)$/d' "$attfile" + for each in $attendance; do + echo "$course\t$each" + done >>"$attfile" + sed -rn 's:^'$course'\t(.+)$:\1:p' "$attfile" |while read card; do + touch "$_DATA/vcard/$card" + done + echo "END:VEVENT\r" >>"$tempfile" echo "END:VCALENDAR\r" >>"$tempfile" mv "$tempfile" "$coursefile"