X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=courses%2Fupdate_course.sh;h=aa9632ce5c20342d4088861663bc2ecfdb6d3f6d;hp=f2b4e18af0ab1629c596182ca1ccd073278b27bb;hb=07454834f9d0291be5e652eef5f62c889331d695;hpb=bc1a27bcfb4baef96e53eb30396588b310c6851f diff --git a/courses/update_course.sh b/courses/update_course.sh index f2b4e18..aa9632c 100755 --- a/courses/update_course.sh +++ b/courses/update_course.sh @@ -1,6 +1,6 @@ -#!/bin/zsh +#!/bin/sh -# Copyright 2014, 2015, 2020 Paul Hänsch +# Copyright 2014, 2015, 2020, 2021 Paul Hänsch # # This file is part of Confetti. # @@ -29,11 +29,11 @@ attfile="$_DATA/mappings/attendance" if ! tempfile="$(CHECK_SLOCK "$coursefile")"; then SET_COOKIE 0 message="NO VALID FILE LOCK" - REDIRECT "/courses/?e=${course}" + REDIRECT "${_BASE}/courses/?e=${course}" exit 0 elif [ "$(POST tid)" != "$(transid "$tempfile")" ]; then SET_COOKIE 0 message="INVALID TRANSACTION ID" - REDIRECT "/courses/?e=${course}" + REDIRECT "${_BASE}/courses/?e=${course}" exit 0 fi @@ -45,7 +45,7 @@ vcf_escape(){ | sed -E ':X;$!{N;bX}; s;\n;\;;g' } -ics="$(pdi_load "$coursefile")" +ics="$(pdi_load "$tempfile")" tzid=$(cat /etc/timezone) @@ -105,20 +105,20 @@ case "$(POST action)" in newfield="$(POST newfield |grep -m 1 -xE '[A-Z][A-Z0-9-]*')" ics="$(pdi_update_value "$ics" "$newfield" $(( $(pdi_count "$ics" "$newfield") + 1 )) '')" printf '%s' "$ics" |grep -vx '' >"$tempfile" - REDIRECT "/courses/?e=${course}" + REDIRECT "${_BASE}/courses/?e=${course}" ;; addfield\ [A-Z]*) - newfield="$(POST action |sed -rn '1s;^addfield ([A-Z][A-Z0-9-]*)$;\1;p')" + newfield="$(POST action |sed -nE '1s;^addfield ([A-Z][A-Z0-9-]*)$;\1;p')" ics="$(pdi_update_value "$ics" "$newfield" $(( $(pdi_count "$ics" "$newfield") + 1 )) '')" printf '%s' "$ics" |grep -vx '' >"$tempfile" - REDIRECT "/courses/?e=${course}" + REDIRECT "${_BASE}/courses/?e=${course}" ;; update) if LOCK "$attfile"; then grep -F "${course} " "$attfile" |while read junk card; do touch "$_DATA/vcard/${card}" done - sed -i -r "/^${course} .+\$/d" "$attfile" + sed -E -i "/^${course} .+\$/d" "$attfile" seq 1 $(POST_COUNT attendance) |while read n; do printf '%s %s\n' "$course" "$(POST attendance $n)" done >>"$attfile" @@ -133,21 +133,21 @@ case "$(POST action)" in printf '%s' "$ics" |grep -vx '' >"${tempfile}.cp" mv "${tempfile}.cp" "$coursefile" RELEASE_SLOCK "$coursefile" - REDIRECT "/courses/#${course}" + REDIRECT "${_BASE}/courses/#${course}" ;; cancel) RELEASE_SLOCK "$coursefile" [ -f "$coursefile" ] \ - && REDIRECT "/courses/#${course}" \ - || REDIRECT "/courses/" + && REDIRECT "${_BASE}/courses/#${course}" \ + || REDIRECT "${_BASE}/courses/" ;; delete) rm "$coursefile" RELEASE_SLOCK "$coursefile" - REDIRECT "/courses/" + REDIRECT "${_BASE}/courses/" ;; *) printf '%s' "$ics" |grep -vx '' >"$tempfile" - REDIRECT "/courses/?e=${course}" + REDIRECT "${_BASE}/courses/?e=${course}" ;; esac