upgraded to fit new shcgi revision, slightly better input validation, switched to...
[busy] / constants.sh
1 #!/bin/zsh
2
3 # Copyright 2014,2015 Paul Hänsch
4 #
5 # This file is part of Confetti.
6
7 # Confetti is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU Affero General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11
12 # Confetti is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU Affero General Public License for more details.
16
17 # You should have received a copy of the GNU Affero General Public License
18 # along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
19
20 data_dirs Home Tasks Wiki QRcodes
21
22 umask=002
23 #alias _wiki="stx2any --no-template --link-abbrevs --quote -T html"
24 _wiki(){
25   #markdown $* |sed -r 's:<(h[1-6])>(.+)</h[1-6]>:<\1><a name="\2">\2</a></\1>:g'
26   pandoc -f markdown -t html "$@" |sed -r 's:<(h[1-6])>(.+)</h[1-6]>:<\1><a name="\2">\2</a></\1>:g'
27 }
28
29 LOGIN=false
30 USER="#NONE#"
31 [ -z "${_GET[p]}" ] && _GET[p]=Home
32
33 sessfile="$_DATA/auth/session$(sed -rn 's:^.*session=([a-zA-Z0-9]{32}).*$:\1:p' <<<"$HTTP_COOKIE")"
34 if [ -r "$sessfile" ]; then
35   cat "$sessfile" |read user expire
36   if [ "$(date +%s)" -lt "$expire" ]; then
37     echo -E "$user $(($(date +%s) + 1800))" >"$sessfile"
38     USER="$user"
39     LOGIN=true
40   else
41     [ -f "$sessfile" ] && rm "$sessfile"
42     sess_msg="Your session has expired!"
43   fi
44 fi
45
46 unset sessfile user expire
47 . $_DATA/auth/permissions.sh