source: branches/2.4/expressoAdmin1_2/setup/tables_update.inc.php @ 6754

Revision 6754, 12.4 KB checked in by niltonneto, 12 years ago (diff)

Ticket #0000 - Copiadas as alterações do Trunk. Versão final da 2.4.1.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2        /**************************************************************************\
3        * phpGroupWare - Setup                                                     *
4        * http://www.phpgroupware.org                                              *
5        * --------------------------------------------                             *
6        * This program is free software; you can redistribute it and/or modify it  *
7        * under the terms of the GNU General Public License as published by the    *
8        * Free Software Foundation; either version 2 of the License, or (at your   *
9        * option) any later version.                                               *
10        \**************************************************************************/   
11        $test[] = '1.2';
12        function expressoAdmin1_2_upgrade1_2()
13        {
14                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '1.21';
15                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
16        }
17       
18        $test[] = '1.21';
19        function expressoAdmin1_2_upgrade1_21()
20        {
21                $oProc = $GLOBALS['phpgw_setup']->oProc;
22
23                $oProc->CreateTable(
24                        'phpgw_expressoadmin_samba', array(
25                                'fd' => array(
26                                        'samba_domain_name' => array( 'type' => 'varchar', 'precision' => 50),
27                                        'samba_domain_sid' => array( 'type' => 'varchar', 'precision' => 100)
28                                ),
29                                'pk' => array('samba_domain_name'),
30                                'fk' => array(),
31                                'ix' => array(),
32                                'uc' => array()
33                        )
34                );
35               
36                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '1.240';
37                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
38        }
39
40        $test[] = '1.240';
41        function expressoAdmin1_2_upgrade1_240()
42        {
43                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '1.250';
44                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
45        }
46       
47        $test[] = '1.250';
48        function expressoAdmin1_2_upgrade1_250()
49        {
50                $GLOBALS['phpgw_setup']->oProc->DropColumn('phpgw_expressoadmin_log','','appinfo');
51                $GLOBALS['phpgw_setup']->oProc->DropColumn('phpgw_expressoadmin_log','','groupinfo');
52                $GLOBALS['phpgw_setup']->oProc->DropColumn('phpgw_expressoadmin_log','','msg');
53                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '1.261';
54                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
55        }
56       
57        $test[] = '1.261';
58        function expressoAdmin1_2_upgrade1_261()
59        {
60                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.000';
61                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
62        }
63        $test[] = '2.0.000';
64        function expressoAdmin1_2_upgrade2_0_000()
65        {
66                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.001';
67                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
68        }
69        $test[] = '2.0.001';
70        function expressoAdmin1_2_upgrade2_0_001()
71        {
72                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.002';
73                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
74        }       
75        $test[] = '2.0.002';
76        function expressoAdmin1_2_upgrade2_0_002()
77        {
78                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.003';
79                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
80        }       
81        $test[] = '2.0.003';
82        function expressoAdmin1_2_upgrade2_0_003()
83        {
84                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.004';
85                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
86        }               
87        $test[] = '2.0.004';
88        function expressoAdmin1_2_upgrade2_0_004()
89        {
90                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.005';
91                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
92        }
93        $test[] = '2.0.005';
94        function expressoAdmin1_2_upgrade2_0_005()
95        {
96                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.0.006';
97                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
98        }
99       
100        $test[] = '2.0.006';
101        function expressoAdmin1_2_upgrade2_0_006()
102        {
103                $GLOBALS['phpgw_setup']->db->query("alter table phpgw_expressoadmin_log drop groupinfo");
104                $GLOBALS['phpgw_setup']->db->query("alter table phpgw_expressoadmin_log drop appinfo");
105                $GLOBALS['phpgw_setup']->db->query("alter table phpgw_expressoadmin_log drop msg");
106                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.1.000';
107                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
108        }
109        $test[] = '2.1.000';
110        function expressoAdmin1_2_upgrade2_1_000()
111        {
112                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.2.000';
113                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
114        }
115        $test[] = '2.2.000';
116        function expressoAdmin1_2_upgrade2_2_000()
117        {
118                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.2.1';
119                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
120        }
121        $test[] = '2.2.1';
122        function expressoAdmin1_2_upgrade2_2_1()
123        {
124                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.2.2';
125                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
126        }
127        $test[] = '2.2.2';
128        function expressoAdmin1_2_upgrade2_2_2()
129        {
130                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.2.3';
131                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
132        }
133        $test[] = '2.2.3';
134        function expressoAdmin1_2_upgrade2_2_3()
135        {
136                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.2.6';
137                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
138        }
139        $test[] = '2.2.6';
140        function expressoAdmin1_2_upgrade2_2_6()
141        {
142                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.2.8';
143                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
144        }       
145        $test[] = '2.2.8';
146        function expressoAdmin1_2_upgrade2_2_8()
147        {
148                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.3.0';
149                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
150        }       
151        $test[] = '2.3.0';
152        function expressoAdmin1_2_upgrade2_3_0() {
153                $GLOBALS['phpgw_setup']->db->query("
154
155                    DROP SEQUENCE IF EXISTS seq_phpgw_expressoadmin_configuration;
156                    CREATE SEQUENCE seq_phpgw_expressoadmin_configuration
157                      INCREMENT 1
158                      MINVALUE 1
159                      MAXVALUE 9223372036854775807
160                      START 93
161                      CACHE 1;
162                    ALTER TABLE seq_phpgw_expressoadmin_configuration OWNER TO ".$GLOBALS['phpgw_domain']['default']['db_user'].";
163
164
165                    DROP TABLE IF EXISTS phpgw_expressoadmin_configuration;
166                    CREATE TABLE phpgw_expressoadmin_configuration
167                    (
168                      id integer NOT NULL DEFAULT nextval(('seq_phpgw_expressoadmin_configuration'::text)::regclass),
169                      email_user character varying(100),
170                      configuration_type character varying(30) NOT NULL,
171                      email_max_recipient integer DEFAULT 0,
172                      email_user_type character varying(1),
173                      email_quota integer,
174                      email_recipient character varying(50),
175                      CONSTRAINT phpgw_expressoadmin_configuration_pkey PRIMARY KEY (id)
176                    )
177                    WITH (
178                      OIDS=TRUE
179                    );
180
181                    DROP INDEX IF EXISTS configuration_type_indice;
182                    CREATE INDEX configuration_type_indice
183                      ON phpgw_expressoadmin_configuration
184                      USING btree
185                      (configuration_type);
186                    ALTER TABLE phpgw_expressoadmin_configuration CLUSTER ON configuration_type_indice;
187
188                    DROP INDEX IF EXISTS email_user_indice;
189                    CREATE INDEX email_user_indice
190                      ON phpgw_expressoadmin_configuration
191                      USING btree
192                      (email_user);
193                    ALTER TABLE phpgw_expressoadmin_configuration CLUSTER ON email_user_indice;
194
195                    DROP TABLE IF EXISTS phpgw_expressoadmin_acls;
196                    CREATE TABLE phpgw_expressoadmin_acls
197                    (
198                      manager_lid character varying(50) NOT NULL,
199                      context character varying(255) NOT NULL,
200                      acl_name character varying(255) NOT NULL
201                    )
202                    WITH (
203                      OIDS=TRUE
204                    );
205                    ALTER TABLE phpgw_expressoadmin_acls OWNER TO ".$GLOBALS['phpgw_domain']['default']['db_user'].";
206
207
208                    DROP INDEX IF EXISTS manager_lid_indice;
209                    CREATE INDEX manager_lid_indice
210                      ON phpgw_expressoadmin_acls
211                      USING btree
212                      (manager_lid);
213                    ALTER TABLE phpgw_expressoadmin_acls CLUSTER ON manager_lid_indice;
214
215
216                ");
217
218                 $GLOBALS['phpgw_setup']->db->query("SELECT * FROM phpgw_expressoadmin");
219                 $results = array();
220
221                function safeBitCheck($number,$comparison)
222        {
223                    $binNumber = base_convert($number,10,2);
224                    $binComparison = strrev(base_convert($comparison,10,2));
225                            $str = strlen($binNumber);
226
227                    if ( ($str <= strlen($binComparison)) && ($binComparison{$str-1}==="1") )
228                            return '1';
229                    else
230                            return '0';
231        }
232
233                function make_array_acl($acl)
234        {
235
236                        $array_acl_tmp = array();
237                        $tmp = array(           "acl_add_users",
238                                                                "acl_edit_users",
239                                                                "acl_delete_users",
240                                                                "acl_EMPTY1",
241                                                                "acl_add_groups",
242                                                                "acl_edit_groups",
243                                                                "acl_delete_groups",
244                                                                "acl_change_users_password",
245                                                                "acl_add_maillists",
246                                                                "acl_edit_maillists",
247                                                                "acl_delete_maillists",
248                                                                "acl_EMPTY2",
249                                                                "acl_create_sectors",
250                                                                "acl_edit_sectors",
251                                                                "acl_delete_sectors",
252                                                                "acl_edit_sambausers_attributes",
253                                                                "acl_view_global_sessions",
254                                                                "acl_view_logs",
255                                                                "acl_change_users_quote",
256                                                                "acl_set_user_default_password",
257                                                                "acl_create_computers",
258                                                                "acl_edit_computers",
259                                                                "acl_delete_computers",
260                                                                "acl_rename_users",
261                                                                "acl_edit_sambadomains",
262                                                                "acl_view_users",
263                                                                "acl_edit_email_groups",
264                                                                "acl_empty_user_inbox",
265                                                                "acl_manipulate_corporative_information",
266                                                                "acl_edit_users_picture",
267                                                                "acl_edit_scl_email_lists",
268                                                                "acl_edit_users_phonenumber",
269                                                                "acl_add_institutional_accounts",
270                                                                "acl_edit_institutional_accounts",
271                                                                "acl_remove_institutional_accounts",
272                                                                "acl_add_shared_accounts",
273                                                                "acl_edit_shared_accounts",
274                                                                "acl_delete_shared_accounts",
275                                                                "acl_edit_shared_accounts_acl",
276                                                                "acl_edit_shared_accounts_quote",
277                                                                "acl_empty_shared_accounts_inbox"
278                                                                );
279
280                        foreach ($tmp as $index => $right)
281        {
282                                $bin = '';
283                                for ($i=0; $i<$index; $i++)
284                                {
285                                        $bin .= '0';
286                                }
287                                $bin = '1' . $bin;
288
289                                $array_acl[$right] = safeBitCheck(bindec($bin), $acl);
290        }
291                        return $array_acl;
292                }
293
294                 while($GLOBALS['phpgw_setup']->db->next_record())
295                     array_push($results, $GLOBALS['phpgw_setup']->db->row());
296
297                 foreach ($results as $result)
298                 {
299                    $manager_info = make_array_acl($result['acl']);
300
301
302                   foreach ($manager_info as $info => $value)
303                    {
304                        $acl  = strstr($info, 'acl_');
305
306                        if ($acl !== false)
307        {
308
309                                $fields = array(
310                                                'manager_lid' => $result['manager_lid'],
311                                                'context' =>    $result['context'],
312                                                'acl_name' => $info,
313                                               );
314
315
316                                $GLOBALS['phpgw_setup']->db->insert('phpgw_expressoadmin_acls', $fields);
317                           
318                        }
319
320                    }
321
322                 }
323                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.4.0';
324            return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
325        }
326
327        $test[] = '2.4.0';
328        function expressoAdmin1_2_upgrade2_4_0()
329        {
330                $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'] = '2.4.1';
331                return $GLOBALS['setup_info']['expressoAdmin1_2']['currentver'];
332        }       
333?>
Note: See TracBrowser for help on using the repository browser.