Fixes unsubscription from group
[platal.git] / upgrade / inc / pervasive.sh
1 #!/bin/bash
2
3 MYSQL='mysql -u admin '
4
5
6 set -e
7
8 if [ "$UID" != 0 ] && [ "$1" != "-u" ] ; then
9 echo "has to be run as root"
10 exit 1
11 fi
12
13 if [[ -n "${DBPREFIX}" ]]; then
14 echo "Using non-default database ${DBPREFIX}x4dat."
15 fi
16 if [[ -z "${DATABASE}" ]]; then
17 DATABASE="${DBPREFIX}x4dat"
18 fi
19
20 function die() {
21 echo $1
22 exit 1
23 }
24
25 function confirm() {
26 echo "$1"
27 echo "* press ^D to start import (^C to cancel)"
28 cat
29 }
30
31 function mysql_pipe() {
32 sed -e "s/#\([0-9a-z]*\)#/${DBPREFIX}\1/g" | $MYSQL $DATABASE
33 }
34
35 function mysql_run() {
36 echo -n "* running $1"
37 (cat $1 | mysql_pipe) || die "ERROR"
38 echo "OK"
39 }
40
41 function mysql_run_directory() {
42 for sql in $1/*.sql ; do
43 mysql_run $sql
44 done
45 }
46
47 function script_run() {
48 echo -n "* running $1"
49 $1 || die "ERROR"
50 echo "OK"
51 }
52
53 function mailman_stop() {
54 echo -n "stops mailman"
55 /etc/init.d/mailman stop &>/dev/null
56 echo .
57 }
58
59 function mailman_templates() {
60 echo -n "copies new mails templates"
61 mkdir -p /etc/mailman/xorg
62 cp -f ../../modules/lists/mail_templates/*.txt /etc/mailman/xorg
63 echo .
64 }
65
66 function mailman_start() {
67 echo -n "starts mailman"
68 /etc/init.d/mailman start &>/dev/null
69 echo .
70 }