X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=actions%2Fgenerate_courselist.sh;h=97589ee6f7b96ccd6761799e33ea671ab95b326d;hp=2b6b9ea2c7e2b36848b864c62ca0aaae36bbbfc4;hb=fa569abc3f855692322f791a0c1112f85126e990;hpb=50b69b029a2f5efb1efb1258aa1e9e3e18cee141 diff --git a/actions/generate_courselist.sh b/actions/generate_courselist.sh index 2b6b9ea..97589ee 100755 --- a/actions/generate_courselist.sh +++ b/actions/generate_courselist.sh @@ -1,16 +1,33 @@ #!/bin/zsh +# Copyright 2014, 2016 Paul Hänsch +# +# This file is part of Confetti. +# +# Confetti is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Confetti is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Confetti. If not, see . + pdflatex="$(where pdflatex |head -n1 || echo false)" -course="$_GET[\"course\"]" -fromdate=$_GET['fromdate'] +course="${_GET[course]}" +fromdate=$_GET[fromdate] fromdate=$(date -d "$fromdate" +%s) [ -z "$fromdate" ] && fromdate=$(date +%s) -. ${_EXEC}/pages/courses.sh loadfunctions -. ${_EXEC}/pages/attendees.sh loadfunctions +. ${_EXEC}/pages/courses.sh +. ${_EXEC}/pages/cards.sh tex_clean() { #in dire need for improvement - echo "$*" |tr -d '{&}\' + echo "$*" |tr -d '{&}\\' } @@ -47,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 @@ -124,6 +148,7 @@ if [ -r "${_DATA}/ical/${course}" ]; then . ${_EXEC}/templates/course_print.sh >"${_DATA}/temp/courselist_${course}.tex" [ -e "${_DATA}/temp/courselist_${course}.pdf" ] && rm "${_DATA}/temp/courselist_${course}.pdf" "$pdflatex" -halt-on-error -output-directory "${_DATA}/temp/" "${_DATA}/temp/courselist_${course}.tex" |debug >/dev/null + "$pdflatex" -halt-on-error -output-directory "${_DATA}/temp/" "${_DATA}/temp/courselist_${course}.tex" |debug >/dev/null fi if [ -r "${_DATA}/temp/courselist_${course}.pdf" ]; then echo 'Content-Type: application/x-pdf\n'