]> git.plutz.net Git - busy/blob - actions/lock.sh
upgraded to fit new shcgi revision, slightly better input validation, switched to...
[busy] / actions / lock.sh
1 #!/bin/zsh
2 # Copyright 2011 Paul Haensch
3 # This file is part of Busy
4 #
5 # Busy is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # Busy is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Affero General Public License for more details.
14 #
15 # You should have received a copy of the GNU Affero General Public License
16 # along with Busy.  If not, see <http://www.gnu.org/licenses/>.
17
18 $ACL_WIKIEDIT || echo "Location: ?p=Error&i=noaccess\n\n"
19 $ACL_WIKIEDIT || exit 0 
20
21 page="$(printf %s\\n "${_GET[p]}" |egrep -Ex 'Wiki')"
22 edit="$(printf %s\\n "${_GET[e]}" |egrep -Ex '[0-9]{10}_[0-9]{3}(_[0-9]{1,4})?')"
23
24 case "$page" in
25   Wiki) [ -f "$_DATA/Wiki/${edit}" ] && echo "${USER}:$(($(date +%s)+600))" >"$_DATA/Wiki/${edit}.lock"
26         echo -n "Location: ?p=Wiki&e=$edit\n\n"
27         ;;
28   *)    echo -n "Location: ?p=Error&r=input&$page\n\n"
29         exit 0
30         ;;
31 esac