+++ /dev/null
-#!/bin/zsh
-
-# Copyright 2014 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 <http://www.gnu.org/licenses/>.
-
-pdflatex="$(where pdflatex |head -n1 || echo false)"
-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
-
-tex_clean() { #in dire need for improvement
- echo "$*" |tr -d '{&}\'
-}
-
-
-list_attendee() { #Parameter: Cardfile
- id="$1"
- cardfile="$_DATA/vcard/${id}"
- unset key
-
- declare -A tags
- declare -A values
- vcf_parse "$cardfile" |while read -r line; do
- declare -A tag
- case "$line" in
- value*) eval "$line";;
- tag*) eval "$line";;
- key*)
- if [ -z "$key" ]; then
- eval "$line"
- else
- values[$key]="$(tex_clean "$value")"
- for t in ${(k)tag}; do
- tags[${key}_$t]="$tag[$t]"
- done
- eval "$line"
- if [ -n "$values[$key]" ]; then
- n=0
- while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done
- key=$key$n
- fi
- unset value
- unset tag
- fi
- ;;
- esac
- done
-
- 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"
-}
-
-get_dates() { #Parameter: Calendarfile
- calendarfile="$_DATA/ical/$course"
- unset key
-
- declare -A tags
- declare -A values
- ics_parse "$calendarfile" |while read -r line; do
- declare -A tag
- case "$line" in
- value*) eval "$line";;
- tag*) eval "$line";;
- key*)
- if [ -z "$key" ]; then
- eval "$line"
- else
- values[$key]="$(tex_clean "$value")"
- for t in ${(k)tag}; do
- tags[${key}_$t]="$tag[$t]"
- done
- eval "$line"
- if [ -n "$values[$key]" ]; then
- n=0
- while [ -n "$values[$key$n]" ]; do n=$(($n + 1)); done
- key=$key$n
- fi
- unset value
- unset tag
- fi
- ;;
- esac
- done
-
- dtstart="$values[DTSTART]"
- [ -z "$dtstart" ] && dtstart=$(date +%Y%m%dT%H%M%S)
- echo "$dtstart" |case "$dtstart" in
- *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';;
- 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';;
- *) 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';;
- esac |read dts_date
- rrule="$values[RRULE]"
- rr_int="$(echo $rrule |sed -rn 's:^.*INTERVAL=([0-9]+)(;.*)?$:\1:p')"
- rr_freq="$(echo $rrule |sed -rn 's:^.*FREQ=(YEARLY|MONTHLY|WEEKLY|DAILY)(;.*)?$:\1:p')"
- case "$rr_freq" in;
- YEARLY) rec="$rr_int year";;
- MONTHLY) rec="$rr_int month";;
- DAILY) rec="$rr_int day";;
- *) rec="$rr_int week";;
- esac
-
- next_date="$dts_date"
- n=10
- while [ $n -gt 0 ]; do
- if [ "$(date -d "$next_date" +%s)" -gt "$(date +%s)" ]; then
- dtlist="$dtlist & $(date -d "$next_date" +"%d. %b.")"
- n=$(($n - 1))
- fi
- next_date="$(date -d "$next_date + $rec" +%Y-%m-%d)"
- done
-
- echo "$dtlist"
-}
-
-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'
- cat "${_DATA}/temp/courselist_${course}.pdf"
-fi