3 pdflatex="$(where pdflatex |head -n1 || echo false)"
4 course="$_GET[\"course\"]"
5 fromdate=$_GET['fromdate']
6 fromdate=$(date -d "$fromdate" +%s)
7 [ -z "$fromdate" ] && fromdate=$(date +%s)
9 . ${_EXEC}/pages/courses.sh loadfunctions
10 . ${_EXEC}/pages/attendees.sh loadfunctions
12 list_attendee() { #Parameter: Cardfile
14 cardfile="$_DATA/vcard/${id}"
19 vcf_parse "$cardfile" |while read -r line; do
22 value*) eval "$line";;
25 if [ -z "$key" ]; then
29 for t in ${(k)tag}; do
30 tags[${key}_$t]="$tag[$t]"
33 if [ -n "$values[$key]" ]; then
35 while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done
46 for n in TEL TEL{0..10}; do if (echo "$values[$n]" |grep -Eq '[0-9]'); then
47 [ -n "$tel" ] && tel="$tel\\newline $values[$n]" || tel="$values[$n]"
50 for n in NOTE NOTE{0..10}; do if [ -n "$values[$n]" ]; then
51 [ -n "$note" ] && note="$note\\newline $values[$n]" || note="$values[$n]"
53 echo -E "$values[FN] & $values[BDAY] & $tel & $note"
56 get_dates() { #Parameter: Calendarfile
57 calendarfile="$_DATA/ical/$course"
62 ics_parse "$calendarfile" |while read -r line; do
65 value*) eval "$line";;
68 if [ -z "$key" ]; then
72 for t in ${(k)tag}; do
73 tags[${key}_$t]="$tag[$t]"
76 if [ -n "$values[$key]" ]; then
78 while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done
88 dtstart="$values[DTSTART]"
89 [ -z "$dtstart" ] && dtstart=$(date +%Y%m%dT%H%M%S)
90 echo "$dtstart" |case "$dtstart" in
91 *Z) sed -rn 's:^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z$:\1-\2-\3 \4\:\5\:\6 UTC:p';;
92 TZID*) sed -rn 's:^TZID=(.+)\:([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})$:TZ="\1" \2-\3-\4 \5\:\6\:\7:p';;
93 *) sed -rn 's:^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})$:\1-\2-\3 \4\:\5\:\6:p';;
95 rrule="$values[RRULE]"
96 rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')"
97 rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')"
99 YEARLY) rec="$rr_int year";;
100 MONTHLY) rec="$rr_int month";;
101 DAILY) rec="$rr_int day";;
102 *) rec="$rr_int week";;
105 next_date="$dts_date"
107 while [ $n -gt 0 ]; do
108 if [ "$(date -d "$next_date" +%s)" -gt "$(date +%s)" ]; then
109 dtlist="$dtlist & $(date -d "$next_date" +"%d. %b.")"
112 next_date="$(date -d "$next_date + $rec" +%Y-%m-%d)"
118 if [ -r "${_DATA}/ical/${course}" ]; then
119 . ${_EXEC}/templates/course_print.sh >"${_DATA}/temp/courselist_${course}.tex"
120 [ -e "${_DATA}/temp/courselist_${course}.pdf" ] && rm "${_DATA}/temp/courselist_${course}.pdf"
121 "$pdflatex" -halt-on-error -output-directory "${_DATA}/temp/" "${_DATA}/temp/courselist_${course}.tex" |debug >/dev/null
123 if [ -r "${_DATA}/temp/courselist_${course}.pdf" ]; then
124 echo 'Content-Type: application/x-pdf\n'
125 cat "${_DATA}/temp/courselist_${course}.pdf"