source: trunk/calendar/setup/tables_update.inc.php @ 2

Revision 2, 37.5 KB checked in by niltonneto, 17 years ago (diff)

Removida todas as tags usadas pelo CVS ($Id, $Source).
Primeira versão no CVS externo.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2  /**************************************************************************\
3  * eGroupWare - Setup                                                       *
4  * http://www.egroupware.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
12
13        function calendar_v0_9_2to0_9_3update_owner($table, $field)
14        {
15                $GLOBALS['phpgw_setup']->oProc->query("select distinct($field) from $table");
16                if ($GLOBALS['phpgw_setup']->oProc->num_rows())
17                {
18                        while ($GLOBALS['phpgw_setup']->oProc->next_record())
19                        {
20                                $owner[count($owner)] = $GLOBALS['phpgw_setup']->oProc->f($field);
21                        }
22                        if($GLOBALS['phpgw_setup']->alessthanb($GLOBALS['setup_info']['phpgwapi']['currentver'],'0.9.10pre4'))
23                        {
24                                $acctstbl = 'accounts';
25                        }
26                        else
27                        {
28                                $acctstbl = 'phpgw_accounts';
29                        }
30                        for($i=0;$i<count($owner);$i++)
31                        {
32                                $GLOBALS['phpgw_setup']->oProc->query("SELECT account_id FROM $acctstbl WHERE account_lid='".$owner[$i]."'");
33                                $GLOBALS['phpgw_setup']->oProc->next_record();
34                                $GLOBALS['phpgw_setup']->oProc->query("UPDATE $table SET $field=".$GLOBALS['phpgw_setup']->oProc->f('account_id')." WHERE $field='".$owner[$i]."'");
35                        }
36                }
37                $GLOBALS['phpgw_setup']->oProc->AlterColumn($table, $field, array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => 0));
38        }
39
40
41        $test[] = '0.9.3pre1';
42        function calendar_upgrade0_9_3pre1()
43        {
44                calendar_v0_9_2to0_9_3update_owner('webcal_entry','cal_create_by');
45                calendar_v0_9_2to0_9_3update_owner('webcal_entry_user','cal_login');
46                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre2';
47                return $GLOBALS['setup_info']['calendar']['currentver'];
48        }
49        $test[] = "0.9.3pre2";
50        function calendar_upgrade0_9_3pre2()
51        {
52                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre3';
53                return $GLOBALS['setup_info']['calendar']['currentver'];
54        }
55        $test[] = "0.9.3pre3";
56        function calendar_upgrade0_9_3pre3()
57        {
58                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre4';
59                return $GLOBALS['setup_info']['calendar']['currentver'];
60        }
61        $test[] = "0.9.3pre4";
62        function calendar_upgrade0_9_3pre4()
63        {
64                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre5';
65                return $GLOBALS['setup_info']['calendar']['currentver'];
66        }
67        $test[] = "0.9.3pre5";
68        function calendar_upgrade0_9_3pre5()
69        {
70                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre6';
71                return $GLOBALS['setup_info']['calendar']['currentver'];
72        }
73        $test[] = "0.9.3pre6";
74        function calendar_upgrade0_9_3pre6()
75        {
76                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre7';
77                return $GLOBALS['setup_info']['calendar']['currentver'];
78        }
79        $test[] = "0.9.3pre7";
80        function calendar_upgrade0_9_3pre7()
81        {
82                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre8';
83                return $GLOBALS['setup_info']['calendar']['currentver'];
84        }
85        $test[] = "0.9.3pre8";
86        function calendar_upgrade0_9_3pre8()
87        {
88                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre9';
89                return $GLOBALS['setup_info']['calendar']['currentver'];
90        }
91        $test[] = "0.9.3pre9";
92        function calendar_upgrade0_9_3pre9()
93        {
94                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre10';
95                return $GLOBALS['setup_info']['calendar']['currentver'];
96        }
97        $test[] = "0.9.3pre10";
98        function calendar_upgrade0_9_3pre10()
99        {
100                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3';
101                return $GLOBALS['setup_info']['calendar']['currentver'];
102        }
103        $test[] = "0.9.3";
104        function calendar_upgrade0_9_3()
105        {
106                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre1';
107                return $GLOBALS['setup_info']['calendar']['currentver'];
108        }
109        $test[] = "0.9.4pre1";
110        function calendar_upgrade0_9_4pre1()
111        {
112                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre2';
113                return $GLOBALS['setup_info']['calendar']['currentver'];
114        }
115
116        $test[] = '0.9.4pre2';
117        function calendar_upgrade0_9_4pre2()
118        {
119                $GLOBALS['phpgw_setup']->oProc->RenameColumn('webcal_entry', 'cal_create_by', 'cal_owner');
120                $GLOBALS['phpgw_setup']->oProc->AlterColumn('webcal_entry', 'cal_owner', array('type' => 'int', 'precision' => 4, 'nullable' => false));
121                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre3';
122                return $GLOBALS['setup_info']['calendar']['currentver'];
123        }
124
125        $test[] = "0.9.4pre3";
126        function calendar_upgrade0_9_4pre3()
127        {
128                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre4';
129                return $GLOBALS['setup_info']['calendar']['currentver'];
130        }
131        $test[] = "0.9.4pre4";
132        function calendar_upgrade0_9_4pre4()
133        {
134                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre5';
135                return $GLOBALS['setup_info']['calendar']['currentver'];
136        }
137        $test[] = "0.9.4pre5";
138        function calendar_upgrade0_9_4pre5()
139        {
140                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4';
141                return $GLOBALS['setup_info']['calendar']['currentver'];
142        }
143        $test[] = "0.9.4";
144        function calendar_upgrade0_9_4()
145        {
146                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.5pre1';
147                return $GLOBALS['setup_info']['calendar']['currentver'];
148        }
149        $test[] = "0.9.5pre1";
150        function calendar_upgrade0_9_5pre1()
151        {
152                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.5pre2';
153                return $GLOBALS['setup_info']['calendar']['currentver'];
154        }
155        $test[] = "0.9.5pre2";
156        function calendar_upgrade0_9_5pre2()
157        {
158                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.5pre3';
159                return $GLOBALS['setup_info']['calendar']['currentver'];
160        }
161        $test[] = "0.9.5";
162        function calendar_upgrade0_9_5()
163        {
164                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.6';
165                return $GLOBALS['setup_info']['calendar']['currentver'];
166        }
167        $test[] = "0.9.6";
168        function calendar_upgrade0_9_6()
169        {
170                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.7pre1';
171                return $GLOBALS['setup_info']['calendar']['currentver'];
172        }
173
174        $test[] = '0.9.7pre1';
175        function calendar_upgrade0_9_7pre1()
176        {
177                $db2 = $GLOBALS['phpgw_setup']->db;
178
179                if($GLOBALS['phpgw_setup']->alessthanb($GLOBALS['setup_info']['phpgwapi']['currentver'],'0.9.10pre8'))
180                {
181                        $appstable = 'applications';
182                }
183                else
184                {
185                        $appstable = 'phpgw_applications';
186                }
187
188                $GLOBALS['phpgw_setup']->oProc->CreateTable('calendar_entry',
189                        Array(
190                                'fd' => array(
191                                        'cal_id' => array('type' => 'auto', 'nullable' => false),
192                                        'cal_owner' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '0'),
193                                        'cal_group' => array('type' => 'varchar', 'precision' => 255),
194                                        'cal_datetime' => array('type' => 'int', 'precision' => 4),
195                                        'cal_mdatetime' => array('type' => 'int', 'precision' => 4),
196                                        'cal_duration' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '0'),
197                                        'cal_priority' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '2'),
198                                        'cal_type' => array('type' => 'varchar', 'precision' => 10),
199                                        'cal_access' => array('type' => 'varchar', 'precision' => 10),
200                                        'cal_name' => array('type' => 'varchar', 'precision' => 80, 'nullable' => false),
201                                        'cal_description' => array('type' => 'text'),
202                                        'cal_ex_participants' => array('type' => 'text')
203                                ),
204                                'pk' => array("cal_id"),
205                                'ix' => array(),
206                                'fk' => array(),
207                                'uc' => array()
208                        )
209                );
210       
211                $GLOBALS['phpgw_setup']->oProc->query('SELECT count(*) FROM webcal_entry',__LINE__,__FILE__);
212                $GLOBALS['phpgw_setup']->oProc->next_record();
213                if($GLOBALS['phpgw_setup']->oProc->f(0))
214                {
215                        $GLOBALS['phpgw_setup']->oProc->query('SELECT cal_id,cal_owner,cal_duration,cal_priority,cal_type,cal_access,cal_name,cal_description,cal_id,cal_date,cal_time,cal_mod_date,cal_mod_time,cal_ex_participants FROM webcal_entry ORDER BY cal_id',__LINE__,__FILE__);
216                        while($GLOBALS['phpgw_setup']->oProc->next_record())
217                        {
218                                $cal_id = $GLOBALS['phpgw_setup']->oProc->f('cal_id');
219                                $cal_owner = $GLOBALS['phpgw_setup']->oProc->f('cal_owner');
220                                $cal_duration = $GLOBALS['phpgw_setup']->oProc->f('cal_duration');
221                                $cal_priority = $GLOBALS['phpgw_setup']->oProc->f('cal_priority');
222                                $cal_type = $GLOBALS['phpgw_setup']->oProc->f('cal_type');
223                                $cal_access = $GLOBALS['phpgw_setup']->oProc->f('cal_access');
224                                $cal_name = $GLOBALS['phpgw_setup']->oProc->f('cal_name');
225                                $cal_description = $GLOBALS['phpgw_setup']->oProc->f('cal_description');
226                                $cal_ex_participants = $GLOBALS['phpgw_setup']->oProc->f('cal_ex_participants');
227                                $datetime = mktime(intval(strrev(substr(strrev($GLOBALS['phpgw_setup']->oProc->f('cal_time')),4))),intval(strrev(substr(strrev($GLOBALS['phpgw_setup']->oProc->f('cal_time')),2,2))),intval(strrev(substr(strrev($GLOBALS['phpgw_setup']->oProc->f('cal_time')),0,2))),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_date'),4,2)),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_date'),6,2)),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_date'),0,4)));
228                                $moddatetime = mktime(intval(strrev(substr(strrev($GLOBALS['phpgw_setup']->oProc->f('cal_mod_time')),4))),intval(strrev(substr(strrev($GLOBALS['phpgw_setup']->oProc->f('cal_mod_time')),2,2))),intval(strrev(substr(strrev($GLOBALS['phpgw_setup']->oProc->f('cal_mod_time')),0,2))),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_mod_date'),4,2)),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_mod_date'),6,2)),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_mod_date'),0,4)));
229                                $db2->query('SELECT groups FROM webcal_entry_groups WHERE cal_id='.$cal_id,__LINE__,__FILE__);
230                                $db2->next_record();
231                                $cal_group = $db2->f('groups');
232                                $db2->query('INSERT INTO calendar_entry(cal_id,cal_owner,cal_group,cal_datetime,cal_mdatetime,cal_duration,cal_priority,cal_type,cal_access,cal_name,cal_description,cal_ex_participants) '
233                                        .'VALUES('.$cal_id.",'".$cal_owner."','".$cal_group."',".$datetime.",".$moddatetime.",".$cal_duration.",".$cal_priority.",'".$cal_type."','".$cal_access."','".$cal_name."','".$cal_description."','".$cal_ex_participants."')",__LINE__,__FILE__);
234                        }
235                }
236       
237                $GLOBALS['phpgw_setup']->oProc->DropTable('webcal_entry_groups');
238                $GLOBALS['phpgw_setup']->oProc->DropTable('webcal_entry');
239       
240                $GLOBALS['phpgw_setup']->oProc->CreateTable('calendar_entry_user',
241                        Array(
242                                'fd' => array(
243                                        'cal_id' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '0'),
244                                        'cal_login' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '0'),
245                                        'cal_status' => array('type' => 'char', 'precision' => 1, 'default' => 'A')
246                                ),
247                                'pk' => array('cal_id', 'cal_login'),
248                                'ix' => array(),
249                                'fk' => array(),
250                                'uc' => array()
251                        )
252                );
253       
254                $GLOBALS['phpgw_setup']->oProc->query('SELECT count(*) FROM webcal_entry_user',__LINE__,__FILE__);
255                $GLOBALS['phpgw_setup']->oProc->next_record();
256                if($GLOBALS['phpgw_setup']->oProc->f(0))
257                {
258                        $GLOBALS['phpgw_setup']->oProc->query('SELECT cal_id,cal_login,cal_status FROM webcal_entry_user ORDER BY cal_id',__LINE__,__FILE__);
259                        while($GLOBALS['phpgw_setup']->oProc->next_record())
260                        {
261                                $cal_id = $GLOBALS['phpgw_setup']->oProc->f('cal_id');
262                                $cal_login = $GLOBALS['phpgw_setup']->oProc->f('cal_login');
263                                $cal_status = $GLOBALS['phpgw_setup']->oProc->f('cal_status');
264                                $db2->query('INSERT INTO calendar_entry_user(cal_id,cal_login,cal_status) VALUES('.$cal_id.','.$cal_login.",'".$cal_status."')",__LINE__,__FILE__);
265                        }
266                }
267       
268                $GLOBALS['phpgw_setup']->oProc->DropTable('webcal_entry_user');
269       
270                $GLOBALS['phpgw_setup']->oProc->CreateTable('calendar_entry_repeats',
271                        Array(
272                                'fd' => array(
273                                        'cal_id' => array('type' => 'int', 'precision' => 4, 'default' => '0', 'nullable' => false),
274                                        'cal_type' => array('type' => 'varchar', 'precision' => 20, 'default' => 'daily', 'nullable' => false),
275                                        'cal_use_end' => array('type' => 'int', 'precision' => 4, 'default' => '0'),
276                                        'cal_end' => array('type' => 'int', 'precision' => 4),
277                                        'cal_frequency' => array('type' => 'int', 'precision' => 4, 'default' => '1'),
278                                        'cal_days' => array('type' => 'char', 'precision' => 7)
279                                ),
280                                'pk' => array(),
281                                'ix' => array(),
282                                'fk' => array(),
283                                'uc' => array()
284                        )
285                );
286       
287                $GLOBALS['phpgw_setup']->oProc->query('SELECT count(*) FROM webcal_entry_repeats',__LINE__,__FILE__);
288                $GLOBALS['phpgw_setup']->oProc->next_record();
289                if($GLOBALS['phpgw_setup']->oProc->f(0))
290                {
291                        $GLOBALS['phpgw_setup']->oProc->query('SELECT cal_id,cal_type,cal_end,cal_frequency,cal_days FROM webcal_entry_repeats ORDER BY cal_id',__LINE__,__FILE__);
292                        while($GLOBALS['phpgw_setup']->oProc->next_record())
293                        {
294                                $cal_id = $GLOBALS['phpgw_setup']->oProc->f('cal_id');
295                                $cal_type = $GLOBALS['phpgw_setup']->oProc->f('cal_type');
296                                if(isset($GLOBALS['phpgw_setup']->oProc->Record['cal_end']))
297                                {
298                                        $enddate = mktime(0,0,0,intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_end'),4,2)),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_end'),6,2)),intval(substr($GLOBALS['phpgw_setup']->oProc->f('cal_end'),0,4)));
299                                        $useend = 1;
300                                }
301                                else
302                                {
303                                        $enddate = 0;
304                                        $useend = 0;
305                                }
306                                $cal_frequency = $GLOBALS['phpgw_setup']->oProc->f('cal_frequency');
307                                $cal_days = $GLOBALS['phpgw_setup']->oProc->f('cal_days');
308                                $db2->query('INSERT INTO calendar_entry_repeats(cal_id,cal_type,cal_use_end,cal_end,cal_frequency,cal_days) VALUES('.$cal_id.",'".$cal_type."',".$useend.",".$enddate.",".$cal_frequency.",'".$cal_days."')",__LINE__,__FILE__);
309                        }
310                }
311       
312                $GLOBALS['phpgw_setup']->oProc->DropTable('webcal_entry_repeats');
313                $GLOBALS['phpgw_setup']->oProc->query("UPDATE $appstable SET app_tables='calendar_entry,calendar_entry_user,calendar_entry_repeats' WHERE app_name='calendar'",__LINE__,__FILE__);
314       
315                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.7pre2';
316                return $GLOBALS['setup_info']['calendar']['currentver'];
317        }
318
319        $test[] = "0.9.7pre2";
320        function calendar_upgrade0_9_7pre2()
321        {
322                $db2 = $GLOBALS['phpgw_setup']->db;
323       
324                $GLOBALS['phpgw_setup']->oProc->RenameColumn('calendar_entry', 'cal_duration', 'cal_edatetime');
325                $GLOBALS['phpgw_setup']->oProc->query('SELECT cal_id,cal_datetime,cal_owner,cal_edatetime,cal_mdatetime FROM calendar_entry ORDER BY cal_id',__LINE__,__FILE__);
326                if($GLOBALS['phpgw_setup']->oProc->num_rows())
327                {
328                        while($GLOBALS['phpgw_setup']->oProc->next_record())
329                        {
330                                $db2->query("SELECT preference_value FROM preferences WHERE preference_name='tz_offset' AND preference_appname='common' AND preference_owner=".$GLOBALS['phpgw_setup']->db->f('cal_owner'),__LINE__,__FILE__);
331                                $db2->next_record();
332                                $tz = $db2->f('preference_value');
333                                $cal_id = $GLOBALS['phpgw_setup']->oProc->f('cal_id');
334                                $datetime = $GLOBALS['phpgw_setup']->oProc->f('cal_datetime') - ((60 * 60) * $tz);
335                                $mdatetime = $GLOBALS['phpgw_setup']->oProc->f('cal_mdatetime') - ((60 * 60) * $tz);
336                                $edatetime = $datetime + (60 * $GLOBALS['phpgw_setup']->oProc->f('cal_edatetime'));
337                                $db2->query('UPDATE calendar_entry SET cal_datetime='.$datetime.', cal_edatetime='.$edatetime.', cal_mdatetime='.$mdatetime.' WHERE cal_id='.$cal_id,__LINE__,__FILE__);
338                        }
339                }
340       
341                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.7pre3';
342                return $GLOBALS['setup_info']['calendar']['currentver'];
343        }
344
345        $test[] = "0.9.7pre3";
346        function calendar_upgrade0_9_7pre3()
347        {
348                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.7';
349                return $GLOBALS['setup_info']['calendar']['currentver'];
350        }
351        $test[] = "0.9.7";
352        function calendar_upgrade0_9_7()
353        {
354                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.8pre1';
355                return $GLOBALS['setup_info']['calendar']['currentver'];
356        }
357        $test[] = "0.9.8pre1";
358        function calendar_upgrade0_9_8pre1()
359        {
360                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.8pre2';
361                return $GLOBALS['setup_info']['calendar']['currentver'];
362        }
363        $test[] = "0.9.8pre2";
364        function calendar_upgrade0_9_8pre2()
365        {
366                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.8pre3';
367                return $GLOBALS['setup_info']['calendar']['currentver'];
368        }
369        $test[] = "0.9.8pre3";
370        function calendar_upgrade0_9_8pre3()
371        {
372                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.8pre4';
373                return $GLOBALS['setup_info']['calendar']['currentver'];
374        }
375        $test[] = "0.9.8pre4";
376        function calendar_upgrade0_9_8pre4()
377        {
378                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.8pre5';
379                return $GLOBALS['setup_info']['calendar']['currentver'];
380        }
381        $test[] = '0.9.8pre5';
382        function calendar_upgrade0_9_8pre5()
383        {
384                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.9pre1';
385                return $GLOBALS['setup_info']['calendar']['currentver'];
386        }
387        $test[] = "0.9.9pre1";
388        function calendar_upgrade0_9_9pre1()
389        {
390                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.9';
391                return $GLOBALS['setup_info']['calendar']['currentver'];
392        }
393        $test[] = "0.9.9";
394        function calendar_upgrade0_9_9()
395        {
396                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre1';
397                return $GLOBALS['setup_info']['calendar']['currentver'];
398        }
399        $test[] = "0.9.10pre1";
400        function calendar_upgrade0_9_10pre1()
401        {
402                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre2';
403                return $GLOBALS['setup_info']['calendar']['currentver'];
404        }
405        $test[] = "0.9.10pre2";
406        function calendar_upgrade0_9_10pre2()
407        {
408                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre3';
409                return $GLOBALS['setup_info']['calendar']['currentver'];
410        }
411        $test[] = "0.9.10pre3";
412        function calendar_upgrade0_9_10pre3()
413        {
414                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre4';
415                return $GLOBALS['setup_info']['calendar']['currentver'];
416        }
417        $test[] = "0.9.10pre4";
418        function calendar_upgrade0_9_10pre4()
419        {
420                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre5';
421                return $GLOBALS['setup_info']['calendar']['currentver'];
422        }
423        $test[] = "0.9.10pre5";
424        function calendar_upgrade0_9_10pre5()
425        {
426                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre6';
427                return $GLOBALS['setup_info']['calendar']['currentver'];
428        }
429        $test[] = "0.9.10pre6";
430        function calendar_upgrade0_9_10pre6()
431        {
432                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre7';
433                return $GLOBALS['setup_info']['calendar']['currentver'];
434        }
435        $test[] = "0.9.10pre7";
436        function calendar_upgrade0_9_10pre7()
437        {
438                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre8';
439                return $GLOBALS['setup_info']['calendar']['currentver'];
440        }
441        $test[] = "0.9.10pre8";
442        function calendar_upgrade0_9_10pre8()
443        {
444                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre9';
445                return $GLOBALS['setup_info']['calendar']['currentver'];
446        }
447        $test[] = '0.9.10pre9';
448        function calendar_upgrade0_9_10pre9()
449        {
450                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre10';
451                return $GLOBALS['setup_info']['calendar']['currentver'];
452        }
453        $test[] = '0.9.10pre10';
454        function calendar_upgrade0_9_10pre10()
455        {
456                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre11';
457                return $GLOBALS['setup_info']['calendar']['currentver'];
458        }
459        $test[] = '0.9.10pre11';
460        function calendar_upgrade0_9_10pre11()
461        {
462                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre12';
463                return $GLOBALS['setup_info']['calendar']['currentver'];
464        }
465        $test[] = '0.9.10pre12';
466        function calendar_upgrade0_9_10pre12()
467        {
468                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre13';
469                return $GLOBALS['setup_info']['calendar']['currentver'];
470        }
471        $test[] = '0.9.10pre13';
472        function calendar_upgrade0_9_10pre13()
473        {
474                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre14';
475                return $GLOBALS['setup_info']['calendar']['currentver'];
476        }
477        $test[] = '0.9.10pre14';
478        function calendar_upgrade0_9_10pre14()
479        {
480                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre15';
481                return $GLOBALS['setup_info']['calendar']['currentver'];
482        }
483        $test[] = '0.9.10pre15';
484        function calendar_upgrade0_9_10pre15()
485        {
486                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre16';
487                return $GLOBALS['setup_info']['calendar']['currentver'];
488        }
489        $test[] = '0.9.10pre16';
490        function calendar_upgrade0_9_10pre16()
491        {
492                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre17';
493                return $GLOBALS['setup_info']['calendar']['currentver'];
494        }
495        $test[] = '0.9.10pre17';
496        function calendar_upgrade0_9_10pre17()
497        {
498                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre18';
499                return $GLOBALS['setup_info']['calendar']['currentver'];
500        }
501        $test[] = '0.9.10pre18';
502        function calendar_upgrade0_9_10pre18()
503        {
504                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre19';
505                return $GLOBALS['setup_info']['calendar']['currentver'];
506        }
507        $test[] = '0.9.10pre19';
508        function calendar_upgrade0_9_10pre19()
509        {
510                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre20';
511                return $GLOBALS['setup_info']['calendar']['currentver'];
512        }
513        $test[] = '0.9.10pre20';
514        function calendar_upgrade0_9_10pre20()
515        {
516                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre21';
517                return $GLOBALS['setup_info']['calendar']['currentver'];
518        }
519        $test[] = '0.9.10pre21';
520        function calendar_upgrade0_9_10pre21()
521        {
522                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre22';
523                return $GLOBALS['setup_info']['calendar']['currentver'];
524        }
525        $test[] = '0.9.10pre22';
526        function calendar_upgrade0_9_10pre22()
527        {
528                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre23';
529                return $GLOBALS['setup_info']['calendar']['currentver'];
530        }
531        $test[] = '0.9.10pre23';
532        function calendar_upgrade0_9_10pre23()
533        {
534                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre24';
535                return $GLOBALS['setup_info']['calendar']['currentver'];
536        }
537        $test[] = '0.9.10pre24';
538        function calendar_upgrade0_9_10pre24()
539        {
540                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre25';
541                return $GLOBALS['setup_info']['calendar']['currentver'];
542        }
543        $test[] = '0.9.10pre25';
544        function calendar_upgrade0_9_10pre25()
545        {
546                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre26';
547                return $GLOBALS['setup_info']['calendar']['currentver'];
548        }
549        $test[] = '0.9.10pre26';
550        function calendar_upgrade0_9_10pre26()
551        {
552                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre27';
553                return $GLOBALS['setup_info']['calendar']['currentver'];
554        }
555        $test[] = '0.9.10pre27';
556        function calendar_upgrade0_9_10pre27()
557        {
558                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10pre28';
559                return $GLOBALS['setup_info']['calendar']['currentver'];
560        }
561        $test[] = '0.9.10pre28';
562        function calendar_upgrade0_9_10pre28()
563        {
564                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.10';
565                return $GLOBALS['setup_info']['calendar']['currentver'];
566        }
567        $test[] = '0.9.10';
568        function calendar_upgrade0_9_10()
569        {
570                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.001';
571                return $GLOBALS['setup_info']['calendar']['currentver'];
572        }
573        $test[] = '0.9.11';
574        function calendar_upgrade0_9_11()
575        {
576                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.001';
577                return $GLOBALS['setup_info']['calendar']['currentver'];
578        }
579
580        $test[] = '0.9.11.001';
581        function calendar_upgrade0_9_11_001()
582        {
583                $db2 = $GLOBALS['phpgw_setup']->db;
584
585                if(extension_loaded('mcal') == False)
586                {
587                        define(RECUR_NONE,0);
588                        define(RECUR_DAILY,1);
589                        define(RECUR_WEEKLY,2);
590                        define(RECUR_MONTHLY_MDAY,3);
591                        define(RECUR_MONTHLY_WDAY,4);
592                        define(RECUR_YEARLY,5);
593       
594                        define(M_SUNDAY,1);
595                        define(M_MONDAY,2);
596                        define(M_TUESDAY,4);
597                        define(M_WEDNESDAY,8);
598                        define(M_THURSDAY,16);
599                        define(M_FRIDAY,32);
600                        define(M_SATURDAY,64);
601                }
602
603// calendar_entry => phpgw_cal
604                $GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal',
605                        Array(
606                                'fd' => array(
607                                        'cal_id' => array('type' => 'auto', 'nullable' => False),
608                                        'owner' => array('type' => 'int', 'precision' => 8, 'nullable' => False),
609                                        'category' => array('type' => 'int', 'precision' => 8, 'default' => '0', 'nullable' => True),
610                                        'groups' => array('type' => 'varchar', 'precision' => 255, 'nullable' => True),
611                                        'datetime' => array('type' => 'int', 'precision' => 8, 'nullable' => True),
612                                        'mdatetime' => array('type' => 'int', 'precision' => 8, 'nullable' => True),
613                                        'edatetime' => array('type' => 'int', 'precision' => 8, 'nullable' => True),
614                                        'priority' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => '2'),
615                                        'cal_type' => array('type' => 'varchar', 'precision' => 10, 'nullable' => True),
616                                        'is_public' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => '1'),
617                                        'title' => array('type' => 'varchar', 'precision' => 80, 'nullable' => False, 'default' => '1'),
618                                        'description' => array('type' => 'text', 'nullable' => True),
619                                        'ex_participants' => array('type' => 'text', 'nullable' => True)
620                                ),
621                                'pk' => array('cal_id'),
622                                'fk' => array(),
623                                'ix' => array(),
624                                'uc' => array()
625                        )
626                );
627
628                $GLOBALS['phpgw_setup']->oProc->query('SELECT * FROM calendar_entry',__LINE__,__FILE__);
629                while($GLOBALS['phpgw_setup']->oProc->next_record())
630                {
631                        $id = $GLOBALS['phpgw_setup']->oProc->f('cal_id');
632                        $owner = $GLOBALS['phpgw_setup']->oProc->f('cal_owner');
633                        $access = $GLOBALS['phpgw_setup']->oProc->f('cal_access');
634                        switch($access)
635                        {
636                                case 'private':
637                                        $is_public = 0;
638                                        break;
639                                case 'public':
640                                        $is_public = 1;
641                                        break;
642                                case 'group':
643                                        $is_public = 2;
644                                        break;
645                        }
646                        $groups = $GLOBALS['phpgw_setup']->oProc->f('cal_group');
647                        $datetime = $GLOBALS['phpgw_setup']->oProc->f('cal_datetime');
648                        $mdatetime = $GLOBALS['phpgw_setup']->oProc->f('cal_mdatetime');
649                        $edatetime = $GLOBALS['phpgw_setup']->oProc->f('cal_edatetime');
650                        $priority = $GLOBALS['phpgw_setup']->oProc->f('cal_priority');
651                        $type = $GLOBALS['phpgw_setup']->oProc->f('cal_type');
652                        $title = $GLOBALS['phpgw_setup']->oProc->f('cal_name');
653                        $description = $GLOBALS['phpgw_setup']->oProc->f('cal_description');
654                        $ex_participants = $GLOBALS['phpgw_setup']->oProc->f('cal_ex_participants');
655
656                        $db2->query("INSERT INTO phpgw_cal(cal_id,owner,groups,datetime,mdatetime,edatetime,priority,cal_type,is_public,title,description,ex_participants) "
657                                . "VALUES($id,$owner,'$groups',$datetime,$mdatetime,$edatetime,$priority,'$type',$is_public,'$title','$description','$ex_participants')",__LINE__,__FILE__);
658                }
659                $GLOBALS['phpgw_setup']->oProc->DropTable('calendar_entry');
660
661// calendar_entry_repeats => phpgw_cal_repeats
662                $GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal_repeats',
663                        Array(
664                                'fd' => array(
665                                        'cal_id' => array('type' => 'int', 'precision' => 8,'nullable' => False),
666                                        'recur_type' => array('type' => 'int', 'precision' => 8,'nullable' => False),
667                                        'recur_use_end' => array('type' => 'int', 'precision' => 8,'nullable' => True),
668                                        'recur_enddate' => array('type' => 'int', 'precision' => 8,'nullable' => True),
669                                        'recur_interval' => array('type' => 'int', 'precision' => 8,'nullable' => True,'default' => '1'),
670                                        'recur_data' => array('type' => 'int', 'precision' => 8,'nullable' => True,'default' => '1')
671                                ),
672                                'pk' => array(),
673                                'fk' => array(),
674                                'ix' => array(),
675                                'uc' => array()
676                        )
677                );
678                $GLOBALS['phpgw_setup']->oProc->query('SELECT * FROM calendar_entry_repeats',__LINE__,__FILE__);
679                while($GLOBALS['phpgw_setup']->oProc->next_record())
680                {
681                        $id = $GLOBALS['phpgw_setup']->oProc->f('cal_id');
682                        $recur_type = $GLOBALS['phpgw_setup']->oProc->f('cal_type');
683                        switch($recur_type)
684                        {
685                                case 'daily':
686                                        $recur_type_num = RECUR_DAILY;
687                                        break;
688                                case 'weekly':
689                                        $recur_type_num = RECUR_WEEKLY;
690                                        break;
691                                case 'monthlybydate':
692                                        $recur_type_num = RECUR_MONTHLY_MDAY;
693                                        break;
694                                case 'monthlybyday':
695                                        $recur_type_num = RECUR_MONTHLY_WDAY;
696                                        break;
697                                case 'yearly':
698                                        $recur_type_num = RECUR_YEARLY;
699                                        break;
700                        }
701                        $recur_end_use = $GLOBALS['phpgw_setup']->oProc->f('cal_use_end');
702                        $recur_end = $GLOBALS['phpgw_setup']->oProc->f('cal_end');
703                        $recur_interval = $GLOBALS['phpgw_setup']->oProc->f('cal_frequency');
704                        $days = strtoupper($GLOBALS['phpgw_setup']->oProc->f('cal_days'));
705                        $recur_data = 0;
706                        $recur_data += (substr($days,0,1)=='Y'?M_SUNDAY:0);
707                        $recur_data += (substr($days,1,1)=='Y'?M_MONDAY:0);
708                        $recur_data += (substr($days,2,1)=='Y'?M_TUESDAY:0);
709                        $recur_data += (substr($days,3,1)=='Y'?M_WEDNESDAY:0);
710                        $recur_data += (substr($days,4,1)=='Y'?M_THURSDAY:0);
711                        $recur_data += (substr($days,5,1)=='Y'?M_FRIDAY:0);
712                        $recur_data += (substr($days,6,1)=='Y'?M_SATURDAY:0);
713                        $db2->query("INSERT INTO phpgw_cal_repeats(cal_id,recur_type,recur_use_end,recur_enddate,recur_interval,recur_data) "
714                                . "VALUES($id,$recur_type_num,$recur_use_end,$recur_end,$recur_interval,$recur_data)",__LINE__,__FILE__);
715                }
716                $GLOBALS['phpgw_setup']->oProc->DropTable('calendar_entry_repeats');
717
718// calendar_entry_user => phpgw_cal_user
719                $GLOBALS['phpgw_setup']->oProc->RenameTable('calendar_entry_user','phpgw_cal_user');
720
721                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.002';
722                return $GLOBALS['setup_info']['calendar']['currentver'];
723        }
724
725        $test[] = '0.9.11.002';
726        function calendar_upgrade0_9_11_002()
727        {
728                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.003';
729                return $GLOBALS['setup_info']['calendar']['currentver'];
730        }
731
732        $test[] = '0.9.11.003';
733        function calendar_upgrade0_9_11_003()
734        {
735                $GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal_holidays',
736                        Array(
737                                'fd' => array(
738                                        'locale' => array('type' => 'char', 'precision' => 2,'nullable' => False),
739                                        'name' => array('type' => 'varchar', 'precision' => 50,'nullable' => False),
740                                        'date_time' => array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')
741                                ),
742                                'pk' => array('locale','name'),
743                                'fk' => array(),
744                                'ix' => array(),
745                                'uc' => array()
746                        )
747                );
748
749                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.004';
750                return $GLOBALS['setup_info']['calendar']['currentver'];
751        }
752
753        $test[] = '0.9.11.004';
754        function calendar_upgrade0_9_11_004()
755        {
756                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.005';
757                return $GLOBALS['setup_info']['calendar']['currentver'];
758        }
759
760        $test[] = '0.9.11.005';
761        function calendar_upgrade0_9_11_005()
762        {
763                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.006';
764                return $GLOBALS['setup_info']['calendar']['currentver'];
765        }
766
767        $test[] = '0.9.11.006';
768        function calendar_upgrade0_9_11_006()
769        {
770                $GLOBALS['phpgw_setup']->oProc->DropTable('phpgw_cal_holidays');
771                $GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal_holidays',
772                        Array(
773                                'fd' => array(
774                                        'hol_id' => array('type' => 'auto','nullable' => False),
775                                        'locale' => array('type' => 'char', 'precision' => 2,'nullable' => False),
776                                        'name' => array('type' => 'varchar', 'precision' => 50,'nullable' => False),
777                                        'date_time' => array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')
778                                ),
779                                'pk' => array('hol_id'),
780                                'fk' => array(),
781                                'ix' => array(),
782                                'uc' => array()
783                        )
784                );
785
786                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.007';
787                return $GLOBALS['setup_info']['calendar']['currentver'];
788        }
789
790        $test[] = '0.9.11.007';
791        function calendar_upgrade0_9_11_007()
792        {
793                $GLOBALS['phpgw_setup']->oProc->query('DELETE FROM phpgw_cal_holidays');
794                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_holidays','mday',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0'));
795                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_holidays','month_num',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0'));
796                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_holidays','occurence',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0'));
797                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_holidays','dow',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0'));
798
799                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.008';
800                return $GLOBALS['setup_info']['calendar']['currentver'];
801        }
802
803        $test[] = '0.9.11.008';
804        function calendar_upgrade0_9_11_008()
805        {
806                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.009';
807                return $GLOBALS['setup_info']['calendar']['currentver'];
808        }
809
810        $test[] = '0.9.11.009';
811        function calendar_upgrade0_9_11_009()
812        {
813                $GLOBALS['phpgw_setup']->oProc->query('DELETE FROM phpgw_cal_holidays');
814                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_holidays','observance_rule',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0'));
815
816                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.010';
817                return $GLOBALS['setup_info']['calendar']['currentver'];
818        }
819
820        $test[] = '0.9.11.010';
821        function calendar_upgrade0_9_11_010()
822        {
823                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.011';
824                return $GLOBALS['setup_info']['calendar']['currentver'];
825        }
826
827        $test[] = '0.9.11.011';
828        function calendar_upgrade0_9_11_011()
829        {
830                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001';
831                return $GLOBALS['setup_info']['calendar']['currentver'];
832        }
833        $test[] = '0.9.12';
834        function calendar_upgrade0_9_12()
835        {
836                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001';
837                return $GLOBALS['setup_info']['calendar']['currentver'];
838        }
839        $test[] = '0.9.13.001';
840        function calendar_upgrade0_9_13_001()
841        {
842                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.002';
843                return $GLOBALS['setup_info']['calendar']['currentver'];
844        }
845
846        $test[] = '0.9.13.002';
847        function calendar_upgrade0_9_13_002()
848        {
849                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal','reference',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0'));
850
851                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.003';
852                return $GLOBALS['setup_info']['calendar']['currentver'];
853        }
854
855        $test[] = '0.9.13.003';
856        function calendar_upgrade0_9_13_003()
857        {
858                $GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal_alarm',
859                        Array(
860                                'fd' => array(
861                                        'alarm_id' => array('type' => 'auto','nullable' => False),             
862                                        'cal_id'   => array('type' => 'int', 'precision' => 8, 'nullable' => False),
863                                        'cal_owner'     => array('type' => 'int', 'precision' => 8, 'nullable' => False),
864                                        'cal_time' => array('type' => 'int', 'precision' => 8, 'nullable' => False),
865                                        'cal_text' => array('type' => 'varchar', 'precision' => 50, 'nullable' => False)
866                                ),
867                                'pk' => array('alarm_id'),
868                                'fk' => array(),
869                                'ix' => array(),
870                                'uc' => array()
871                        )
872                );
873
874                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal','uid',array('type' => 'varchar', 'precision' => 255,'nullable' => False));
875                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal','location',array('type' => 'varchar', 'precision' => 255,'nullable' => True));
876
877                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.004';
878                return $GLOBALS['setup_info']['calendar']['currentver'];
879        }
880
881        $test[] = '0.9.13.004';
882        function calendar_upgrade0_9_13_004()
883        {
884                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_alarm','alarm_enabled',array('type' => 'int', 'precision' => 4,'nullable' => False, 'default' => '1'));
885
886                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.005';
887                return $GLOBALS['setup_info']['calendar']['currentver'];
888        }
889
890        $test[] = '0.9.13.005';
891        function calendar_upgrade0_9_13_005()
892        {
893                $calendar_data = Array();
894                $GLOBALS['phpgw_setup']->oProc->query('SELECT cal_id, category FROM phpgw_cal',__LINE__,__FILE__);
895                while($GLOBALS['phpgw_setup']->oProc->next_record())
896                {
897                        $calendar_data[$GLOBALS['phpgw_setup']->oProc->f('cal_id')] = $GLOBALS['phpgw_setup']->oProc->f('category');
898                }
899
900                $GLOBALS['phpgw_setup']->oProc->AlterColumn('phpgw_cal','category',array('type' => 'varchar', 'precision' => 30,'nullable' => True));
901
902                @reset($calendar_data);
903                while($calendar_data && list($cal_id,$category) = each($calendar_data))
904                {
905                        $GLOBALS['phpgw_setup']->oProc->query("UPDATE phpgw_cal SET category='".$category."' WHERE cal_id=".$cal_id,__LINE__,__FILE__);         
906                }
907                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.006';
908                return $GLOBALS['setup_info']['calendar']['currentver'];
909        }
910
911        $test[] = '0.9.13.006';
912        function calendar_upgrade0_9_13_006()
913        {
914                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_repeats','recur_exception',array('type' => 'varchar', 'precision' => 255, 'nullable' => True, 'default' => ''));
915
916                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.007';
917                return $GLOBALS['setup_info']['calendar']['currentver'];
918        }
919
920
921        $test[] = '0.9.13.007';
922        function calendar_upgrade0_9_13_007()
923        {
924                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_user','cal_type',array(
925                        'type' => 'varchar',
926                        'precision' => '1',
927                        'nullable' => False,
928                        'default' => 'u'
929                ));
930
931                $GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal_extra',array(
932                        'fd' => array(
933                                'cal_id' => array('type' => 'int','precision' => '4','nullable' => False),
934                                'cal_extra_name' => array('type' => 'varchar','precision' => '40','nullable' => False),
935                                'cal_extra_value' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '')
936                        ),
937                        'pk' => array('cal_id','cal_extra_name'),
938                        'fk' => array(),
939                        'ix' => array(),
940                        'uc' => array()
941                ));
942
943                $GLOBALS['phpgw_setup']->oProc->DropTable('phpgw_cal_alarm');
944
945                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.002';
946                return $GLOBALS['setup_info']['calendar']['currentver'];
947        }
948
949
950        $test[] = '0.9.16.001';
951        function calendar_upgrade0_9_16_001()
952        {
953                // this is to set the default as schema_proc was not setting an empty default
954                $GLOBALS['phpgw_setup']->oProc->AlterColumn('phpgw_cal_user','cal_type',array(
955                        'type' => 'varchar',
956                        'precision' => '1',
957                        'nullable' => False,
958                        'default' => 'u'
959                ));
960
961                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.002';
962                return $GLOBALS['setup_info']['calendar']['currentver'];
963        }
964        $test[] = '0.9.16.002';
965        function calendar_upgrade0_9_16_002()
966        {
967                $GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal','ex_participants',array(
968                        'type' => 'text',
969                        'precision' => '',
970                        'nullable' => True
971                ));
972               
973                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.17';
974                return $GLOBALS['setup_info']['calendar']['currentver'];
975        }
976        $test[] = '0.9.17';
977        function calendar_upgrade0_9_17()
978        {
979                $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.2';
980                return $GLOBALS['setup_info']['calendar']['currentver'];
981        }
982?>
Note: See TracBrowser for help on using the repository browser.