X-Git-Url: http://git.plutz.net/?p=busy;a=blobdiff_plain;f=write%2Flock.cgi;h=33989b67440f2c789c569cc1298e399bbf1da39f;hp=41c095119258bc473be06ef8b7099f7e6de6125b;hb=405324e13eb8124602f8e3651b0903afad2365fe;hpb=62c3d9c54dec22772956bea9f2ec482c891e511e diff --git a/write/lock.cgi b/write/lock.cgi index 41c0951..33989b6 100755 --- a/write/lock.cgi +++ b/write/lock.cgi @@ -15,18 +15,19 @@ # You should have received a copy of the GNU Affero General Public License # along with Busy. If not, see . +[ "$HTTPS" = "on" ] && proto=https || proto=http +. ../auth/permissions.sh +$ACL_WIKIEDIT || echo "Location: ${proto}://${HTTP_HOST}/?p=Error&i=noaccess\n\n" +$ACL_WIKIEDIT || exit 0 + page=$(egrep -o '(^|&)p=(QandA|Locations|Wiki)(&|$)' <<<"${QUERY_STRING}" |sed 's,p=,,;s,&,,g') edit=$(egrep -o '(^|&)e=[0-9]{10}_[0-9]{3}(_[0-9]{1,4})?(&|$)' <<<"${QUERY_STRING}" |tr -d 'e=&') case "$page" in - QandA) [ -f "../QandA/${edit}.qstn" ] && echo "${REMOTE_USER}:$(($(date +%s)+600))" >"../QandA/${edit}.lock" - ;; - Locations) [ -f "../Locations/${edit}.jpg" ] && echo "${REMOTE_USER}:$(($(date +%s)+600))" >"../Locations/${edit}.lock" - ;; Wiki) [ -f "../Wiki/${edit}" ] && echo "${REMOTE_USER}:$(($(date +%s)+600))" >"../Wiki/${edit}.lock" ;; *) echo -n "Location: http://$host/?p=Error&r=input&$page\n\n" exit 0 ;; esac -echo -n "Location: http://${HTTP_HOST}/?${QUERY_STRING}\n\n" +echo -n "Location: ${proto}://${HTTP_HOST}/?${QUERY_STRING}\n\n"