X-Git-Url: http://git.plutz.net/?p=busy;a=blobdiff_plain;f=actions%2Ftaskmeta.sh;fp=actions%2Ftaskmeta.sh;h=0b2544ddedbc00e2fd0b18af20eff826e48b4dd6;hp=0000000000000000000000000000000000000000;hb=f485895094cd72318b46f39689c3ba954eb37411;hpb=904730d1782749bfac15b0344fe5782433f3099b diff --git a/actions/taskmeta.sh b/actions/taskmeta.sh new file mode 100755 index 0000000..0b2544d --- /dev/null +++ b/actions/taskmeta.sh @@ -0,0 +1,53 @@ +#!/bin/zsh +# Copyright 2011 Paul Haensch +# This file is part of Busy +# +# Busy 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. +# +# Busy 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 Busy. If not, see . + +$ACL_CREATETASK || echo "Location: //${HTTP_HOST}/?p=Error&i=noaccess\n\n" +$ACL_CREATETASK || exit 0 + +info="$_GET[\"i\"]" + +[ -z "$info" ] && info="$(date +%s)_$(apg -M N -a 1 -n 1 -m 3 -x 3)" +descfile="$_DATA/Tasks/$info.meta" +commfile="$_DATA/Tasks/$info.comment.$(date +%s)_$(apg -M N -a 1 -n 1 -m 3 -x 3)" + +[ -f "$_DATA/Tasks/$info.lock" ] && rm "$_DATA/Wiki/$info.lock" +anchor=$(ls $_DATA/Tasks |grep -A2 $info |grep '.meta$' |tail -n1 |cut -d. -f1) + +cgi_post +headline="$_POST[\"headline\"]" +taskstatus="$_POST[\"status\"]" +section="$_POST[\"section\"]" +description="$_POST[\"description\"]" +comment="$_POST[\"comm\"]" +[ -n "$_POST[\"cancel\"]" ] && cancel=true +[ "$_POST[\"submit\"]" = "Robots click here" ] && cancel=true + +if [ -z "$cancel" -a -n "$comment" ]; then + touch "$_DATA/Tasks/$info" + echo -e "author=${USER}" > "$commfile" + echo -e "${comment}" >> "$commfile" + echo -n "Location: //${HTTP_HOST}/?p=Tasks&i=$info\n\n" +elif [ -z "$cancel" -a -n "$description" ]; then + touch "$_DATA/Tasks/$info" + echo -e "headline=${headline}" > "$descfile" + echo -e "status=${taskstatus}" >> "$descfile" + echo -e "section=${section}" >> "$descfile" + echo -e "${description}" >> "$_DATA/Tasks/$info" + echo -n "Location: //${HTTP_HOST}/?p=Tasks#$anchor\n\n" +elif [ -n "$cancel" ]; then + echo -n "Location: //${HTTP_HOST}/?p=Tasks#$anchor\n\n" +fi