From b3ddca9d8e6af72d0e9847b3d5d1f7778ef1f1af Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 2 Dec 2013 17:57:17 +0000 Subject: [PATCH] course attendance in attendees list svn path=/trunk/; revision=34 --- actions/update_attendee.sh | 17 +++++++++++++++-- index.cgi | 3 ++- pages/attendees.sh | 7 +++++++ templates/attendees.css.sh | 16 +++++++++++++++- templates/edit_attendee.sh | 11 +++++++++++ templates/text_attendee.sh | 1 + templates/view_attendee.sh | 8 ++++++++ 7 files changed, 59 insertions(+), 4 deletions(-) diff --git a/actions/update_attendee.sh b/actions/update_attendee.sh index 1fcd3ec..078d096 100644 --- a/actions/update_attendee.sh +++ b/actions/update_attendee.sh @@ -8,8 +8,9 @@ filtertype="&filtertype=$_REF[\"filtertype\"]" order="&order=$_REF[\"order\"]" card="$_POST[\"card\"]" -tempfile="temp/$card" -cardfile="vcard/$card" +tempfile="$_DATA/temp/$card" +cardfile="$_DATA/vcard/$card" +attfile="$_DATA/mappings/attendance" echo "BEGIN:VCARD\r" >"$tempfile" echo "VERSION:4.0\r" >>"$tempfile" @@ -33,6 +34,18 @@ case "$_POST[\"action\"]" in echo -n "Location: http://$HTTP_HOST/?page=attendees${filter}${filtertype}${order}&edit=$card\n\n" ;; update) + attendance=() + for att in attendance attendance{0..100}; do + [ -n "$_POST[\"$att\"]" ] && attendance+=("$_POST[\"$att\"]") + done + sed -rn 's:^(.+)'$card'$:\1:p' "$attfile" |while read course; do + touch "$_DATA/ical/$course" + done + sed -i -r '/^(.+)\t'$card'$/d' "$attfile" + for each in $attendance; do + echo "$each\t$card" >>"$attfile" + done + echo "END:VCARD\r" >>"$tempfile" mv "$tempfile" "$cardfile" echo -n "Location: http://$HTTP_HOST/?page=attendees${filter}${filtertype}${order}#$card\n\n" diff --git a/index.cgi b/index.cgi index 4273071..119228e 100755 --- a/index.cgi +++ b/index.cgi @@ -25,10 +25,11 @@ _DATA="$(dirname "$call")" #storage directory [ -w "$_DATA" ] && [ -d "$_DATA" ] || die "storage directory must be writable" # create directories for object storage -for each in "$_DATA"/{vcard,ical,cache,temp}; do +for each in "$_DATA"/{vcard,ical,cache,temp,mappings}; do [ ! -e "$each" ] && mkdir "$each" [ -w "$each" ] && [ -d "$each" ] || die "storage $each must be a writable directory" done +touch "$_DATA/mappings/attendance" # create htaccess file [ -f .htaccess ] || cat >.htaccess <' echo '' +echo '
' +echo ' '$(l10n course_attendance)'' +listcourses |while read each; do + cname="$(sed -rn 's:^SUMMARY\:(.*)$:\1:p' "$_DATA/ical/$each")" + echo ' '$cname'' +done +echo '
' +echo '' echo '
' echo ' ' echo '