]> git.plutz.net Git - confetti/blobdiff - actions/generate_courselist.sh
externalise cgi engine
[confetti] / actions / generate_courselist.sh
index 640e3f182e95667f3fff43d5192d7e334bfdb3a3..4b9c4ae1d5ff11aaafc220eebc1b25eac2abeaef 100755 (executable)
@@ -1,5 +1,22 @@
 #!/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']
@@ -9,6 +26,11 @@ fromdate=$(date -d "$fromdate" +%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}"
@@ -25,7 +47,7 @@ list_attendee() {  #Parameter: Cardfile
         if [ -z "$key" ]; then
           eval "$line"
         else
-          values[$key]="$value"
+          values[$key]="$(tex_clean "$value")"
           for t in ${(k)tag}; do
             tags[${key}_$t]="$tag[$t]"
           done
@@ -68,7 +90,7 @@ get_dates() {  #Parameter: Calendarfile
         if [ -z "$key" ]; then
           eval "$line"
         else
-          values[$key]="$value"
+          values[$key]="$(tex_clean "$value")"
           for t in ${(k)tag}; do
             tags[${key}_$t]="$tag[$t]"
           done
@@ -119,6 +141,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'