]> err.no Git - scalable-opengroupware.org/blob - OGoContentStore/sql/acls.sh
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1075 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / OGoContentStore / sql / acls.sh
1 #!/bin/bash
2 #
3 # Usage: generate-folderinfo-sql-for-users user1 [user2] [user3] [...]
4 #
5
6 DB_USER="sogo"
7 DB_PASS="sogo"
8 DB_HOST="192.168.0.4"
9 DB_PORT="5432"
10 DB_NAME="sogo"
11 TIMEZONE="Canada/Eastern"
12
13
14 while [ "$1" != "" ]; do
15 USER_ID=$1
16 USER_TABLE=`echo $USER_ID | tr -s [:punct:] _`
17 cat << EOF
18 --
19 -- (C) 2004 SKYRIX Software AG
20 --
21 -- TODO:
22 --   add a unique constraints on path
23
24 UPDATE SOGo_folder_info
25   SET c_acl_location = 'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_acl'
26   WHERE c_folder_type = 'Container'
27   AND c_path2 = '${USER_ID}';
28 UPDATE SOGo_folder_info
29   SET c_acl_location = 'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_contacts_acl'
30   WHERE c_folder_type = 'Contact'
31   AND c_path2 = '${USER_ID}';
32 UPDATE SOGo_folder_info
33   SET c_acl_location = 'http://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}/SOGo_${USER_TABLE}_privcal_acl'
34   WHERE c_folder_type = 'Appointment'
35   AND c_path2 = '${USER_ID}';
36
37 DROP TABLE SOGo_${USER_TABLE}_acls;
38 DROP TABLE SOGo_${USER_TABLE}_privcal_acls;
39 DROP TABLE SOGo_${USER_TABLE}_contacts_acls;
40
41 DROP TABLE SOGo_${USER_TABLE}_acl;
42 DROP TABLE SOGo_${USER_TABLE}_privcal_acl;
43 DROP TABLE SOGo_${USER_TABLE}_contacts_acl;
44
45 CREATE TABLE SOGo_${USER_TABLE}_acl (
46   c_uid          VARCHAR(256)    NOT NULL,
47   c_object       VARCHAR(256)    NOT NULL,
48   c_role         VARCHAR(80)     NOT NULL
49 );
50
51 CREATE TABLE SOGo_${USER_TABLE}_privcal_acl (
52   c_uid          VARCHAR(256)    NOT NULL,
53   c_object       VARCHAR(256)    NOT NULL,
54   c_role         VARCHAR(80)     NOT NULL
55 );
56
57 CREATE TABLE SOGo_${USER_TABLE}_contacts_acl (
58   c_uid          VARCHAR(256)    NOT NULL,
59   c_object       VARCHAR(256)    NOT NULL,
60   c_role         VARCHAR(80)     NOT NULL
61 );
62
63 EOF
64 shift
65 done