X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=actions%2Fupdate_therapy.sh;fp=actions%2Fupdate_therapy.sh;h=43a2e1fdff49cd1421765bf34f0c46e2c1a63e3a;hp=0000000000000000000000000000000000000000;hb=c8980226006bdd5a9d518e7d3221dc3d527be321;hpb=aedb6776919b351df7df7c310c238c41317ddc44 diff --git a/actions/update_therapy.sh b/actions/update_therapy.sh new file mode 100755 index 0000000..43a2e1f --- /dev/null +++ b/actions/update_therapy.sh @@ -0,0 +1,56 @@ +#!/bin/zsh + +# Copyright 2016 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 . + +BR=' +' +tpy="${_POST[id]}" + +tpyfile="$_DATA/therapies/$tpy" +tempfile="$_DATA/temp/$tpy" + +# serialize POST array into file +for key in ${(k)_POST}; do + printf %s:%s\\n "$key" "${_POST[$key]//$BR/\\n}" +done >"$tempfile" + +if [ -n "$_POST[delete_session]" ]; then + n="$_POST[delete_session]" + sed -i -r '/^session'$n'[_:]/d' "$tempfile" + rm "${tpyfile%.tpy}_session${n}.png" + + while grep -Eq '^session'$(($n + 1))'_' "$tempfile"; do + sed -i -r 's;^session'$(($n + 1))'(_|:);session'$n'\1;' "$tempfile" + mv "${tpyfile%.tpy}_session$(($n+1)).png" "${tpyfile%.tpy}_session${n}.png" + n=$(($n+1)) + done + +elif [ -n "$_POST[new_session]" ]; then + sid="$_POST[new_session]" + printf '%s:exists\n' "$sid" >>"$tempfile" + + identify "$_EXEC/templates/therapy_background.png" \ + | sed -r 's;^.* ([0-9]+x[0-9]+) .*$;\1;' \ + | read dim + + convert -size "$dim" xc:transparent "${tpyfile%.tpy}_${sid}.png" +fi + +mv "$tempfile" "$tpyfile" + +redirect "?p=therapy&id=${tpy}"