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 tex_clean() { #in dire need for improvement
13 echo "$*" |tr -d '{&}\'
17 list_attendee() { #Parameter: Cardfile
19 cardfile="$_DATA/vcard/${id}"
24 vcf_parse "$cardfile" |while read -r line; do
27 value*) eval "$line";;
30 if [ -z "$key" ]; then
33 values[$key]="$(tex_clean "$value")"
34 for t in ${(k)tag}; do
35 tags[${key}_$t]="$tag[$t]"
38 if [ -n "$values[$key]" ]; then
40 while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done
51 for n in TEL TEL{0..10}; do if (echo "$values[$n]" |grep -Eq '[0-9]'); then
52 [ -n "$tel" ] && tel="$tel\\newline $values[$n]" || tel="$values[$n]"
55 for n in NOTE NOTE{0..10}; do if [ -n "$values[$n]" ]; then
56 [ -n "$note" ] && note="$note\\newline $values[$n]" || note="$values[$n]"
58 echo -E "$values[FN] & $values[BDAY] & $tel & $note"
61 get_dates() { #Parameter: Calendarfile
62 calendarfile="$_DATA/ical/$course"
67 ics_parse "$calendarfile" |while read -r line; do
70 value*) eval "$line";;
73 if [ -z "$key" ]; then
76 values[$key]="$(tex_clean "$value")"
77 for t in ${(k)tag}; do
78 tags[${key}_$t]="$tag[$t]"
81 if [ -n "$values[$key]" ]; then
83 while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done
93 dtstart="$values[DTSTART]"
94 [ -z "$dtstart" ] && dtstart=$(date +%Y%m%dT%H%M%S)
95 echo "$dtstart" |case "$dtstart" in
96 *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';;
97 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';;
98 *) 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';;
100 rrule="$values[RRULE]"
101 rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')"
102 rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')"
104 YEARLY) rec="$rr_int year";;
105 MONTHLY) rec="$rr_int month";;
106 DAILY) rec="$rr_int day";;
107 *) rec="$rr_int week";;
110 next_date="$dts_date"
112 while [ $n -gt 0 ]; do
113 if [ "$(date -d "$next_date" +%s)" -gt "$(date +%s)" ]; then
114 dtlist="$dtlist & $(date -d "$next_date" +"%d. %b.")"
117 next_date="$(date -d "$next_date + $rec" +%Y-%m-%d)"
123 if [ -r "${_DATA}/ical/${course}" ]; then
124 . ${_EXEC}/templates/course_print.sh >"${_DATA}/temp/courselist_${course}.tex"
125 [ -e "${_DATA}/temp/courselist_${course}.pdf" ] && rm "${_DATA}/temp/courselist_${course}.pdf"
126 "$pdflatex" -halt-on-error -output-directory "${_DATA}/temp/" "${_DATA}/temp/courselist_${course}.tex" |debug >/dev/null
128 if [ -r "${_DATA}/temp/courselist_${course}.pdf" ]; then
129 echo 'Content-Type: application/x-pdf\n'
130 cat "${_DATA}/temp/courselist_${course}.pdf"