[ Index ] |
|
Code source de eGroupWare 1.2.106-2 |
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 /* $Id: tables_update.inc.php 21493 2006-04-30 12:53:55Z ralfbecker $ */ 13 14 function calendar_v0_9_2to0_9_3update_owner($table, $field) 15 { 16 $GLOBALS['egw_setup']->oProc->query("select distinct($field) from $table"); 17 if ($GLOBALS['egw_setup']->oProc->num_rows()) 18 { 19 while ($GLOBALS['egw_setup']->oProc->next_record()) 20 { 21 $owner[count($owner)] = $GLOBALS['egw_setup']->oProc->f($field); 22 } 23 if($GLOBALS['egw_setup']->alessthanb($GLOBALS['setup_info']['phpgwapi']['currentver'],'0.9.10pre4')) 24 { 25 $acctstbl = 'accounts'; 26 } 27 else 28 { 29 $acctstbl = 'phpgw_accounts'; 30 } 31 for($i=0;$i<count($owner);$i++) 32 { 33 $GLOBALS['egw_setup']->oProc->query("SELECT account_id FROM $acctstbl WHERE account_lid='".$owner[$i]."'"); 34 $GLOBALS['egw_setup']->oProc->next_record(); 35 $GLOBALS['egw_setup']->oProc->query("UPDATE $table SET $field=".$GLOBALS['egw_setup']->oProc->f('account_id')." WHERE $field='".$owner[$i]."'"); 36 } 37 } 38 $GLOBALS['egw_setup']->oProc->AlterColumn($table, $field, array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => 0)); 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 50 $test[] = "0.9.3pre2"; 51 function calendar_upgrade0_9_3pre2() 52 { 53 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre3'; 54 return $GLOBALS['setup_info']['calendar']['currentver']; 55 } 56 57 $test[] = "0.9.3pre3"; 58 function calendar_upgrade0_9_3pre3() 59 { 60 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre4'; 61 return $GLOBALS['setup_info']['calendar']['currentver']; 62 } 63 64 $test[] = "0.9.3pre4"; 65 function calendar_upgrade0_9_3pre4() 66 { 67 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre5'; 68 return $GLOBALS['setup_info']['calendar']['currentver']; 69 } 70 71 $test[] = "0.9.3pre5"; 72 function calendar_upgrade0_9_3pre5() 73 { 74 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre6'; 75 return $GLOBALS['setup_info']['calendar']['currentver']; 76 } 77 78 $test[] = "0.9.3pre6"; 79 function calendar_upgrade0_9_3pre6() 80 { 81 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre7'; 82 return $GLOBALS['setup_info']['calendar']['currentver']; 83 } 84 85 $test[] = "0.9.3pre7"; 86 function calendar_upgrade0_9_3pre7() 87 { 88 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre8'; 89 return $GLOBALS['setup_info']['calendar']['currentver']; 90 } 91 92 $test[] = "0.9.3pre8"; 93 function calendar_upgrade0_9_3pre8() 94 { 95 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre9'; 96 return $GLOBALS['setup_info']['calendar']['currentver']; 97 } 98 99 $test[] = "0.9.3pre9"; 100 function calendar_upgrade0_9_3pre9() 101 { 102 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3pre10'; 103 return $GLOBALS['setup_info']['calendar']['currentver']; 104 } 105 106 $test[] = "0.9.3pre10"; 107 function calendar_upgrade0_9_3pre10() 108 { 109 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.3'; 110 return $GLOBALS['setup_info']['calendar']['currentver']; 111 } 112 113 $test[] = "0.9.3"; 114 function calendar_upgrade0_9_3() 115 { 116 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre1'; 117 return $GLOBALS['setup_info']['calendar']['currentver']; 118 } 119 120 $test[] = "0.9.4pre1"; 121 function calendar_upgrade0_9_4pre1() 122 { 123 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre2'; 124 return $GLOBALS['setup_info']['calendar']['currentver']; 125 } 126 127 $test[] = '0.9.4pre2'; 128 function calendar_upgrade0_9_4pre2() 129 { 130 $GLOBALS['egw_setup']->oProc->RenameColumn('webcal_entry', 'cal_create_by', 'cal_owner'); 131 $GLOBALS['egw_setup']->oProc->AlterColumn('webcal_entry', 'cal_owner', array('type' => 'int', 'precision' => 4, 'nullable' => false)); 132 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre3'; 133 return $GLOBALS['setup_info']['calendar']['currentver']; 134 } 135 136 $test[] = "0.9.4pre3"; 137 function calendar_upgrade0_9_4pre3() 138 { 139 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre4'; 140 return $GLOBALS['setup_info']['calendar']['currentver']; 141 } 142 $test[] = "0.9.4pre4"; 143 function calendar_upgrade0_9_4pre4() 144 { 145 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4pre5'; 146 return $GLOBALS['setup_info']['calendar']['currentver']; 147 } 148 $test[] = "0.9.4pre5"; 149 function calendar_upgrade0_9_4pre5() 150 { 151 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.4'; 152 return $GLOBALS['setup_info']['calendar']['currentver']; 153 } 154 $test[] = "0.9.4"; 155 function calendar_upgrade0_9_4() 156 { 157 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.5pre1'; 158 return $GLOBALS['setup_info']['calendar']['currentver']; 159 } 160 $test[] = "0.9.5pre1"; 161 function calendar_upgrade0_9_5pre1() 162 { 163 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.5pre2'; 164 return $GLOBALS['setup_info']['calendar']['currentver']; 165 } 166 $test[] = "0.9.5pre2"; 167 function calendar_upgrade0_9_5pre2() 168 { 169 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.5pre3'; 170 return $GLOBALS['setup_info']['calendar']['currentver']; 171 } 172 $test[] = "0.9.5"; 173 function calendar_upgrade0_9_5() 174 { 175 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.6'; 176 return $GLOBALS['setup_info']['calendar']['currentver']; 177 } 178 $test[] = "0.9.6"; 179 function calendar_upgrade0_9_6() 180 { 181 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.7pre1'; 182 return $GLOBALS['setup_info']['calendar']['currentver']; 183 } 184 185 $test[] = '0.9.7pre1'; 186 function calendar_upgrade0_9_7pre1() 187 { 188 $db2 = clone($GLOBALS['egw_setup']->db); 189 190 $GLOBALS['egw_setup']->oProc->CreateTable('calendar_entry', 191 Array( 192 'fd' => array( 193 'cal_id' => array('type' => 'auto', 'nullable' => false), 194 'cal_owner' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '0'), 195 'cal_group' => array('type' => 'varchar', 'precision' => 255), 196 'cal_datetime' => array('type' => 'int', 'precision' => 4), 197 'cal_mdatetime' => array('type' => 'int', 'precision' => 4), 198 'cal_duration' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '0'), 199 'cal_priority' => array('type' => 'int', 'precision' => 4, 'nullable' => false, 'default' => '2'), 200 'cal_type' => array('type' => 'varchar', 'precision' => 10), 201 'cal_access' => array('type' => 'varchar', 'precision' => 10), 202 'cal_name' => array('type' => 'varchar', 'precision' => 80, 'nullable' => false), 203 'cal_description' => array('type' => 'text') 204 ), 205 'pk' => array("cal_id"), 206 'ix' => array(), 207 'fk' => array(), 208 'uc' => array() 209 ) 210 ); 211 212 $GLOBALS['egw_setup']->oProc->query('SELECT count(*) FROM webcal_entry',__LINE__,__FILE__); 213 $GLOBALS['egw_setup']->oProc->next_record(); 214 if($GLOBALS['egw_setup']->oProc->f(0)) 215 { 216 $GLOBALS['egw_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 FROM webcal_entry ORDER BY cal_id',__LINE__,__FILE__); 217 while($GLOBALS['egw_setup']->oProc->next_record()) 218 { 219 $cal_id = $GLOBALS['egw_setup']->oProc->f('cal_id'); 220 $cal_owner = $GLOBALS['egw_setup']->oProc->f('cal_owner'); 221 $cal_duration = $GLOBALS['egw_setup']->oProc->f('cal_duration'); 222 $cal_priority = $GLOBALS['egw_setup']->oProc->f('cal_priority'); 223 $cal_type = $GLOBALS['egw_setup']->oProc->f('cal_type'); 224 $cal_access = $GLOBALS['egw_setup']->oProc->f('cal_access'); 225 $cal_name = $GLOBALS['egw_setup']->oProc->f('cal_name'); 226 $cal_description = $GLOBALS['egw_setup']->oProc->f('cal_description'); 227 $datetime = mktime(intval(strrev(substr(strrev($GLOBALS['egw_setup']->oProc->f('cal_time')),4))),intval(strrev(substr(strrev($GLOBALS['egw_setup']->oProc->f('cal_time')),2,2))),intval(strrev(substr(strrev($GLOBALS['egw_setup']->oProc->f('cal_time')),0,2))),intval(substr($GLOBALS['egw_setup']->oProc->f('cal_date'),4,2)),intval(substr($GLOBALS['egw_setup']->oProc->f('cal_date'),6,2)),intval(substr($GLOBALS['egw_setup']->oProc->f('cal_date'),0,4))); 228 $moddatetime = mktime(intval(strrev(substr(strrev($GLOBALS['egw_setup']->oProc->f('cal_mod_time')),4))),intval(strrev(substr(strrev($GLOBALS['egw_setup']->oProc->f('cal_mod_time')),2,2))),intval(strrev(substr(strrev($GLOBALS['egw_setup']->oProc->f('cal_mod_time')),0,2))),intval(substr($GLOBALS['egw_setup']->oProc->f('cal_mod_date'),4,2)),intval(substr($GLOBALS['egw_setup']->oProc->f('cal_mod_date'),6,2)),intval(substr($GLOBALS['egw_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) ' 233 .'VALUES('.$cal_id.",'".$cal_owner."','".$cal_group."',".$datetime.",".$moddatetime.",".$cal_duration.",".$cal_priority.",'".$cal_type."','".$cal_access."','".$cal_name."','".$cal_description."')",__LINE__,__FILE__); 234 } 235 } 236 237 $GLOBALS['egw_setup']->oProc->DropTable('webcal_entry_groups'); 238 $GLOBALS['egw_setup']->oProc->DropTable('webcal_entry'); 239 240 $GLOBALS['egw_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['egw_setup']->oProc->query('SELECT count(*) FROM webcal_entry_user',__LINE__,__FILE__); 255 $GLOBALS['egw_setup']->oProc->next_record(); 256 if($GLOBALS['egw_setup']->oProc->f(0)) 257 { 258 $GLOBALS['egw_setup']->oProc->query('SELECT cal_id,cal_login,cal_status FROM webcal_entry_user ORDER BY cal_id',__LINE__,__FILE__); 259 while($GLOBALS['egw_setup']->oProc->next_record()) 260 { 261 $cal_id = $GLOBALS['egw_setup']->oProc->f('cal_id'); 262 $cal_login = $GLOBALS['egw_setup']->oProc->f('cal_login'); 263 $cal_status = $GLOBALS['egw_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['egw_setup']->oProc->DropTable('webcal_entry_user'); 269 270 $GLOBALS['egw_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['egw_setup']->oProc->query('SELECT count(*) FROM webcal_entry_repeats',__LINE__,__FILE__); 288 $GLOBALS['egw_setup']->oProc->next_record(); 289 if($GLOBALS['egw_setup']->oProc->f(0)) 290 { 291 $GLOBALS['egw_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['egw_setup']->oProc->next_record()) 293 { 294 $cal_id = $GLOBALS['egw_setup']->oProc->f('cal_id'); 295 $cal_type = $GLOBALS['egw_setup']->oProc->f('cal_type'); 296 if(isset($GLOBALS['egw_setup']->oProc->Record['cal_end'])) 297 { 298 $enddate = mktime(0,0,0,intval(substr($GLOBALS['egw_setup']->oProc->f('cal_end'),4,2)),intval(substr($GLOBALS['egw_setup']->oProc->f('cal_end'),6,2)),intval(substr($GLOBALS['egw_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['egw_setup']->oProc->f('cal_frequency'); 307 $cal_days = $GLOBALS['egw_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['egw_setup']->oProc->DropTable('webcal_entry_repeats'); 313 $GLOBALS['egw_setup']->oProc->query("UPDATE {$GLOBALS['egw_setup']->applications_table} 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['egw_setup']->db; 323 324 $GLOBALS['egw_setup']->oProc->RenameColumn('calendar_entry', 'cal_duration', 'cal_edatetime'); 325 $GLOBALS['egw_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['egw_setup']->oProc->num_rows()) 327 { 328 while($GLOBALS['egw_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['egw_setup']->db->f('cal_owner'),__LINE__,__FILE__); 331 $db2->next_record(); 332 $tz = $db2->f('preference_value'); 333 $cal_id = $GLOBALS['egw_setup']->oProc->f('cal_id'); 334 $datetime = $GLOBALS['egw_setup']->oProc->f('cal_datetime') - ((60 * 60) * $tz); 335 $mdatetime = $GLOBALS['egw_setup']->oProc->f('cal_mdatetime') - ((60 * 60) * $tz); 336 $edatetime = $datetime + (60 * $GLOBALS['egw_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['egw_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['egw_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 ), 620 'pk' => array('cal_id'), 621 'fk' => array(), 622 'ix' => array(), 623 'uc' => array() 624 ) 625 ); 626 627 $GLOBALS['egw_setup']->oProc->query('SELECT * FROM calendar_entry',__LINE__,__FILE__); 628 while($GLOBALS['egw_setup']->oProc->next_record()) 629 { 630 $id = $GLOBALS['egw_setup']->oProc->f('cal_id'); 631 $owner = $GLOBALS['egw_setup']->oProc->f('cal_owner'); 632 $access = $GLOBALS['egw_setup']->oProc->f('cal_access'); 633 switch($access) 634 { 635 case 'private': 636 $is_public = 0; 637 break; 638 case 'public': 639 $is_public = 1; 640 break; 641 case 'group': 642 $is_public = 2; 643 break; 644 } 645 $groups = $GLOBALS['egw_setup']->oProc->f('cal_group'); 646 $datetime = $GLOBALS['egw_setup']->oProc->f('cal_datetime'); 647 $mdatetime = $GLOBALS['egw_setup']->oProc->f('cal_mdatetime'); 648 $edatetime = $GLOBALS['egw_setup']->oProc->f('cal_edatetime'); 649 $priority = $GLOBALS['egw_setup']->oProc->f('cal_priority'); 650 $type = $GLOBALS['egw_setup']->oProc->f('cal_type'); 651 $title = $GLOBALS['egw_setup']->oProc->f('cal_name'); 652 $description = $GLOBALS['egw_setup']->oProc->f('cal_description'); 653 654 $db2->query("INSERT INTO phpgw_cal(cal_id,owner,groups,datetime,mdatetime,edatetime,priority,cal_type,is_public,title,description) " 655 . "VALUES($id,$owner,'$groups',$datetime,$mdatetime,$edatetime,$priority,'$type',$is_public,'$title','$description')",__LINE__,__FILE__); 656 } 657 $GLOBALS['egw_setup']->oProc->DropTable('calendar_entry'); 658 659 // calendar_entry_repeats => phpgw_cal_repeats 660 $GLOBALS['egw_setup']->oProc->CreateTable('phpgw_cal_repeats', 661 Array( 662 'fd' => array( 663 'cal_id' => array('type' => 'int', 'precision' => 8,'nullable' => False), 664 'recur_type' => array('type' => 'int', 'precision' => 8,'nullable' => False), 665 'recur_use_end' => array('type' => 'int', 'precision' => 8,'nullable' => True), 666 'recur_enddate' => array('type' => 'int', 'precision' => 8,'nullable' => True), 667 'recur_interval' => array('type' => 'int', 'precision' => 8,'nullable' => True,'default' => '1'), 668 'recur_data' => array('type' => 'int', 'precision' => 8,'nullable' => True,'default' => '1') 669 ), 670 'pk' => array(), 671 'fk' => array(), 672 'ix' => array(), 673 'uc' => array() 674 ) 675 ); 676 $GLOBALS['egw_setup']->oProc->query('SELECT * FROM calendar_entry_repeats',__LINE__,__FILE__); 677 while($GLOBALS['egw_setup']->oProc->next_record()) 678 { 679 $id = $GLOBALS['egw_setup']->oProc->f('cal_id'); 680 $recur_type = $GLOBALS['egw_setup']->oProc->f('cal_type'); 681 switch($recur_type) 682 { 683 case 'daily': 684 $recur_type_num = RECUR_DAILY; 685 break; 686 case 'weekly': 687 $recur_type_num = RECUR_WEEKLY; 688 break; 689 case 'monthlybydate': 690 $recur_type_num = RECUR_MONTHLY_MDAY; 691 break; 692 case 'monthlybyday': 693 $recur_type_num = RECUR_MONTHLY_WDAY; 694 break; 695 case 'yearly': 696 $recur_type_num = RECUR_YEARLY; 697 break; 698 } 699 $recur_end_use = $GLOBALS['egw_setup']->oProc->f('cal_use_end'); 700 $recur_end = $GLOBALS['egw_setup']->oProc->f('cal_end'); 701 $recur_interval = $GLOBALS['egw_setup']->oProc->f('cal_frequency'); 702 $days = strtoupper($GLOBALS['egw_setup']->oProc->f('cal_days')); 703 $recur_data = 0; 704 $recur_data += (substr($days,0,1)=='Y'?M_SUNDAY:0); 705 $recur_data += (substr($days,1,1)=='Y'?M_MONDAY:0); 706 $recur_data += (substr($days,2,1)=='Y'?M_TUESDAY:0); 707 $recur_data += (substr($days,3,1)=='Y'?M_WEDNESDAY:0); 708 $recur_data += (substr($days,4,1)=='Y'?M_THURSDAY:0); 709 $recur_data += (substr($days,5,1)=='Y'?M_FRIDAY:0); 710 $recur_data += (substr($days,6,1)=='Y'?M_SATURDAY:0); 711 $db2->query("INSERT INTO phpgw_cal_repeats(cal_id,recur_type,recur_use_end,recur_enddate,recur_interval,recur_data) " 712 . "VALUES($id,$recur_type_num,$recur_use_end,$recur_end,$recur_interval,$recur_data)",__LINE__,__FILE__); 713 } 714 $GLOBALS['egw_setup']->oProc->DropTable('calendar_entry_repeats'); 715 716 // calendar_entry_user => phpgw_cal_user 717 $GLOBALS['egw_setup']->oProc->RenameTable('calendar_entry_user','phpgw_cal_user'); 718 719 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.002'; 720 return $GLOBALS['setup_info']['calendar']['currentver']; 721 } 722 723 $test[] = '0.9.11.002'; 724 function calendar_upgrade0_9_11_002() 725 { 726 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.003'; 727 return $GLOBALS['setup_info']['calendar']['currentver']; 728 } 729 730 $test[] = '0.9.11.003'; 731 function calendar_upgrade0_9_11_003() 732 { 733 $GLOBALS['egw_setup']->oProc->CreateTable('phpgw_cal_holidays', 734 Array( 735 'fd' => array( 736 'locale' => array('type' => 'char', 'precision' => 2,'nullable' => False), 737 'name' => array('type' => 'varchar', 'precision' => 50,'nullable' => False), 738 'date_time' => array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0') 739 ), 740 'pk' => array('locale','name'), 741 'fk' => array(), 742 'ix' => array(), 743 'uc' => array() 744 ) 745 ); 746 747 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.004'; 748 return $GLOBALS['setup_info']['calendar']['currentver']; 749 } 750 751 $test[] = '0.9.11.004'; 752 function calendar_upgrade0_9_11_004() 753 { 754 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.005'; 755 return $GLOBALS['setup_info']['calendar']['currentver']; 756 } 757 758 $test[] = '0.9.11.005'; 759 function calendar_upgrade0_9_11_005() 760 { 761 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.006'; 762 return $GLOBALS['setup_info']['calendar']['currentver']; 763 } 764 765 $test[] = '0.9.11.006'; 766 function calendar_upgrade0_9_11_006() 767 { 768 $GLOBALS['egw_setup']->oProc->DropTable('phpgw_cal_holidays'); 769 $GLOBALS['egw_setup']->oProc->CreateTable('phpgw_cal_holidays', 770 Array( 771 'fd' => array( 772 'hol_id' => array('type' => 'auto','nullable' => False), 773 'locale' => array('type' => 'char', 'precision' => 2,'nullable' => False), 774 'name' => array('type' => 'varchar', 'precision' => 50,'nullable' => False), 775 'date_time' => array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0') 776 ), 777 'pk' => array('hol_id'), 778 'fk' => array(), 779 'ix' => array(), 780 'uc' => array() 781 ) 782 ); 783 784 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.007'; 785 return $GLOBALS['setup_info']['calendar']['currentver']; 786 } 787 788 $test[] = '0.9.11.007'; 789 function calendar_upgrade0_9_11_007() 790 { 791 $GLOBALS['egw_setup']->oProc->query('DELETE FROM phpgw_cal_holidays'); 792 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_holidays','mday',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')); 793 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_holidays','month_num',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')); 794 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_holidays','occurence',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')); 795 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_holidays','dow',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')); 796 797 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.008'; 798 return $GLOBALS['setup_info']['calendar']['currentver']; 799 } 800 801 $test[] = '0.9.11.008'; 802 function calendar_upgrade0_9_11_008() 803 { 804 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.009'; 805 return $GLOBALS['setup_info']['calendar']['currentver']; 806 } 807 808 $test[] = '0.9.11.009'; 809 function calendar_upgrade0_9_11_009() 810 { 811 $GLOBALS['egw_setup']->oProc->query('DELETE FROM phpgw_cal_holidays'); 812 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_holidays','observance_rule',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')); 813 814 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.010'; 815 return $GLOBALS['setup_info']['calendar']['currentver']; 816 } 817 818 $test[] = '0.9.11.010'; 819 function calendar_upgrade0_9_11_010() 820 { 821 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.11.011'; 822 return $GLOBALS['setup_info']['calendar']['currentver']; 823 } 824 825 $test[] = '0.9.11.011'; 826 function calendar_upgrade0_9_11_011() 827 { 828 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001'; 829 return $GLOBALS['setup_info']['calendar']['currentver']; 830 } 831 $test[] = '0.9.12'; 832 function calendar_upgrade0_9_12() 833 { 834 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001'; 835 return $GLOBALS['setup_info']['calendar']['currentver']; 836 } 837 $test[] = '0.9.13.001'; 838 function calendar_upgrade0_9_13_001() 839 { 840 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.002'; 841 return $GLOBALS['setup_info']['calendar']['currentver']; 842 } 843 844 $test[] = '0.9.13.002'; 845 function calendar_upgrade0_9_13_002() 846 { 847 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal','reference',array('type' => 'int', 'precision' => 8,'nullable' => False, 'default' => '0')); 848 849 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.003'; 850 return $GLOBALS['setup_info']['calendar']['currentver']; 851 } 852 853 $test[] = '0.9.13.003'; 854 function calendar_upgrade0_9_13_003() 855 { 856 $GLOBALS['egw_setup']->oProc->CreateTable('phpgw_cal_alarm', 857 Array( 858 'fd' => array( 859 'alarm_id' => array('type' => 'auto','nullable' => False), 860 'cal_id' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 861 'cal_owner' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 862 'cal_time' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 863 'cal_text' => array('type' => 'varchar', 'precision' => 50, 'nullable' => False) 864 ), 865 'pk' => array('alarm_id'), 866 'fk' => array(), 867 'ix' => array(), 868 'uc' => array() 869 ) 870 ); 871 872 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal','uid',array('type' => 'varchar', 'precision' => 255,'nullable' => False)); 873 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal','location',array('type' => 'varchar', 'precision' => 255,'nullable' => True)); 874 875 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.004'; 876 return $GLOBALS['setup_info']['calendar']['currentver']; 877 } 878 879 $test[] = '0.9.13.004'; 880 function calendar_upgrade0_9_13_004() 881 { 882 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_alarm','alarm_enabled',array('type' => 'int', 'precision' => 4,'nullable' => False, 'default' => '1')); 883 884 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.005'; 885 return $GLOBALS['setup_info']['calendar']['currentver']; 886 } 887 888 $test[] = '0.9.13.005'; 889 function calendar_upgrade0_9_13_005() 890 { 891 $calendar_data = Array(); 892 $GLOBALS['egw_setup']->oProc->query('SELECT cal_id, category FROM phpgw_cal',__LINE__,__FILE__); 893 while($GLOBALS['egw_setup']->oProc->next_record()) 894 { 895 $calendar_data[$GLOBALS['egw_setup']->oProc->f('cal_id')] = $GLOBALS['egw_setup']->oProc->f('category'); 896 } 897 898 $GLOBALS['egw_setup']->oProc->AlterColumn('phpgw_cal','category',array('type' => 'varchar', 'precision' => 30,'nullable' => True)); 899 900 @reset($calendar_data); 901 while($calendar_data && list($cal_id,$category) = each($calendar_data)) 902 { 903 $GLOBALS['egw_setup']->oProc->query("UPDATE phpgw_cal SET category='".$category."' WHERE cal_id=".$cal_id,__LINE__,__FILE__); 904 } 905 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.006'; 906 return $GLOBALS['setup_info']['calendar']['currentver']; 907 } 908 909 $test[] = '0.9.13.006'; 910 function calendar_upgrade0_9_13_006() 911 { 912 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_repeats','recur_exception',array('type' => 'varchar', 'precision' => 255, 'nullable' => True, 'default' => '')); 913 914 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.007'; 915 return $GLOBALS['setup_info']['calendar']['currentver']; 916 } 917 918 919 $test[] = '0.9.13.007'; 920 function calendar_upgrade0_9_13_007() 921 { 922 $GLOBALS['egw_setup']->oProc->AddColumn('phpgw_cal_user','cal_type',array( 923 'type' => 'varchar', 924 'precision' => '1', 925 'nullable' => False, 926 'default' => 'u' 927 )); 928 929 $GLOBALS['egw_setup']->oProc->CreateTable('phpgw_cal_extra',array( 930 'fd' => array( 931 'cal_id' => array('type' => 'int','precision' => '4','nullable' => False), 932 'cal_extra_name' => array('type' => 'varchar','precision' => '40','nullable' => False), 933 'cal_extra_value' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '') 934 ), 935 'pk' => array('cal_id','cal_extra_name'), 936 'fk' => array(), 937 'ix' => array(), 938 'uc' => array() 939 )); 940 941 $GLOBALS['egw_setup']->oProc->DropTable('phpgw_cal_alarm'); 942 943 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.002'; 944 return $GLOBALS['setup_info']['calendar']['currentver']; 945 } 946 947 948 $test[] = '0.9.16.001'; 949 function calendar_upgrade0_9_16_001() 950 { 951 // this is to set the default as schema_proc was not setting an empty default 952 $GLOBALS['egw_setup']->oProc->AlterColumn('phpgw_cal_user','cal_type',array( 953 'type' => 'varchar', 954 'precision' => '1', 955 'nullable' => False, 956 'default' => 'u' 957 )); 958 959 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.002'; 960 return $GLOBALS['setup_info']['calendar']['currentver']; 961 } 962 963 964 // the following series of updates add some indices, to speedup the selects 965 966 $test[] = '0.9.16.002'; 967 function calendar_upgrade0_9_16_002() 968 { 969 $GLOBALS['egw_setup']->oProc->RefreshTable('phpgw_cal_repeats',array( 970 'fd' => array( 971 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False), 972 'recur_type' => array('type' => 'int','precision' => '8','nullable' => False), 973 'recur_use_end' => array('type' => 'int','precision' => '8','default' => '0'), 974 'recur_enddate' => array('type' => 'int','precision' => '8'), 975 'recur_interval' => array('type' => 'int','precision' => '8','default' => '1'), 976 'recur_data' => array('type' => 'int','precision' => '8','default' => '1'), 977 'recur_exception' => array('type' => 'varchar','precision' => '255','default' => '') 978 ), 979 'pk' => array(), 980 'fk' => array(), 981 'ix' => array('cal_id'), 982 'uc' => array() 983 )); 984 985 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.003'; 986 return $GLOBALS['setup_info']['calendar']['currentver']; 987 } 988 989 990 $test[] = '0.9.16.003'; 991 function calendar_upgrade0_9_16_003() 992 { 993 $GLOBALS['egw_setup']->oProc->RefreshTable('phpgw_cal_user',array( 994 'fd' => array( 995 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 996 'cal_login' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 997 'cal_status' => array('type' => 'char','precision' => '1','default' => 'A'), 998 'cal_type' => array('type' => 'varchar','precision' => '1','nullable' => False,'default' => 'u') 999 ), 1000 'pk' => array('cal_id','cal_login','cal_type'), 1001 'fk' => array(), 1002 'ix' => array(), 1003 'uc' => array() 1004 )); 1005 1006 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.004'; 1007 return $GLOBALS['setup_info']['calendar']['currentver']; 1008 } 1009 1010 1011 $test[] = '0.9.16.004'; 1012 function calendar_upgrade0_9_16_004() 1013 { 1014 $GLOBALS['egw_setup']->oProc->RefreshTable('phpgw_cal_holidays',array( 1015 'fd' => array( 1016 'hol_id' => array('type' => 'auto','nullable' => False), 1017 'locale' => array('type' => 'char','precision' => '2','nullable' => False), 1018 'name' => array('type' => 'varchar','precision' => '50','nullable' => False), 1019 'mday' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 1020 'month_num' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 1021 'occurence' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 1022 'dow' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 1023 'observance_rule' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0') 1024 ), 1025 'pk' => array('hol_id'), 1026 'fk' => array(), 1027 'ix' => array('locale'), 1028 'uc' => array() 1029 )); 1030 1031 $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.005'; 1032 return $GLOBALS['setup_info']['calendar']['currentver']; 1033 } 1034 1035 1036 $test[] = '0.9.16.005'; 1037 function calendar_upgrade0_9_16_005() 1038 { 1039 // creates uid's for all entries which do not have unique ones, they are '-@domain.com' 1040 // very old entries even have an empty uid, see 0.9.16.006 update 1041 $GLOBALS['egw_setup']->oProc->query("SELECT config_name,config_value FROM {$GLOBALS['egw_setup']->config_table} WHERE config_name IN ('install_id','mail_suffix') AND config_app='phpgwapi'",__LINE__,__FILE__); 1042 while ($GLOBALS['egw_setup']->oProc->next_record()) 1043 { 1044 $config[$GLOBALS['egw_setup']->oProc->f(0)] = $GLOBALS['egw_setup']->oProc->f(1); 1045 } 1046 $GLOBALS['egw_setup']->oProc->query('UPDATE phpgw_cal SET uid='. 1047 $GLOBALS['egw_setup']->db->concat($GLOBALS['egw_setup']->db->quote('cal-'),'cal_id', 1048 $GLOBALS['egw_setup']->db->quote('-'.$config['install_id'].'@'. 1049 ($config['mail_suffix'] ? $config['mail_suffix'] : 'local'))). 1050 " WHERE uid LIKE '-@%' OR uid=''"); 1051 1052 // we dont need to do update 0.9.16.007, as UpdateSequenze is called now by RefreshTable 1053 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0'; 1054 return $GLOBALS['setup_info']['calendar']['currentver']; 1055 } 1056 1057 1058 $test[] = '0.9.16.006'; 1059 function calendar_upgrade0_9_16_006() 1060 { 1061 // re-run the update as very old entries only have an empty uid 1062 return calendar_upgrade0_9_16_005(); 1063 } 1064 1065 1066 $test[] = '0.9.16.007'; 1067 function calendar_upgrade0_9_16_007() 1068 { 1069 // update the sequenzes for refreshed tables (postgres only) 1070 $GLOBALS['egw_setup']->oProc->UpdateSequence('phpgw_cal_holidays','hol_id'); 1071 1072 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0'; 1073 return $GLOBALS['setup_info']['calendar']['currentver']; 1074 } 1075 1076 1077 $test[] = '1.0.0'; 1078 function calendar_upgrade1_0_0() 1079 { 1080 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','uid','cal_uid'); 1081 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','owner','cal_owner'); 1082 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','category','cal_category'); 1083 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','groups','cal_groups'); 1084 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','datetime','cal_starttime'); 1085 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','mdatetime','cal_modified'); 1086 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','edatetime','cal_endtime'); 1087 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','priority','cal_priority'); 1088 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','is_public','cal_public'); 1089 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','title','cal_title'); 1090 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','description','cal_description'); 1091 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','location','cal_location'); 1092 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal','reference','cal_reference'); 1093 1094 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0.001'; 1095 return $GLOBALS['setup_info']['calendar']['currentver']; 1096 } 1097 1098 1099 $test[] = '1.0.0.001'; 1100 function calendar_upgrade1_0_0_001() 1101 { 1102 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','locale','hol_locale'); 1103 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','name','hol_name'); 1104 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','mday','hol_mday'); 1105 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','month_num','hol_month_num'); 1106 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','occurence','hol_occurence'); 1107 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','dow','hol_dow'); 1108 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_holidays','observance_rule','hol_observance_rule'); 1109 1110 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0.002'; 1111 return $GLOBALS['setup_info']['calendar']['currentver']; 1112 } 1113 1114 1115 $test[] = '1.0.0.002'; 1116 function calendar_upgrade1_0_0_002() 1117 { 1118 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_user','cal_login','cal_user_id'); 1119 $GLOBALS['egw_setup']->oProc->RenameColumn('phpgw_cal_user','cal_type','cal_user_type'); 1120 1121 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0.003'; 1122 return $GLOBALS['setup_info']['calendar']['currentver']; 1123 } 1124 1125 1126 $test[] = '1.0.0.003'; 1127 function calendar_upgrade1_0_0_003() 1128 { 1129 $GLOBALS['egw_setup']->oProc->AlterColumn('phpgw_cal','cal_title',array( 1130 'type' => 'varchar', 1131 'precision' => '255', 1132 'nullable' => False, 1133 'default' => '1' 1134 )); 1135 1136 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0.004'; 1137 return $GLOBALS['setup_info']['calendar']['currentver']; 1138 } 1139 1140 1141 $test[] = '1.0.0.004'; 1142 function calendar_upgrade1_0_0_004() 1143 { 1144 $GLOBALS['egw_setup']->oProc->RefreshTable('phpgw_cal_repeats',array( 1145 'fd' => array( 1146 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False), 1147 'recur_type' => array('type' => 'int','precision' => '8','nullable' => False), 1148 'recur_use_end' => array('type' => 'int','precision' => '8','default' => '0'), 1149 'recur_enddate' => array('type' => 'int','precision' => '8'), 1150 'recur_interval' => array('type' => 'int','precision' => '8','default' => '1'), 1151 'recur_data' => array('type' => 'int','precision' => '8','default' => '1'), 1152 'recur_exception' => array('type' => 'varchar','precision' => '255','default' => '') 1153 ), 1154 'pk' => array('cal_id'), 1155 'fk' => array(), 1156 'ix' => array(), 1157 'uc' => array() 1158 )); 1159 1160 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.0.005'; 1161 return $GLOBALS['setup_info']['calendar']['currentver']; 1162 } 1163 1164 1165 $test[] = '1.0.0.005'; 1166 function calendar_upgrade1_0_0_005() 1167 { 1168 // change prefix of all calendar tables to egw_ 1169 foreach(array('cal_user','cal_repeats','cal_extra','cal_holidays','cal') as $name) 1170 { 1171 $GLOBALS['egw_setup']->oProc->RenameTable('phpgw_'.$name,'egw_'.$name); 1172 } 1173 1174 // create new dates table, with content from the egw_cal table 1175 $GLOBALS['egw_setup']->oProc->CreateTable('egw_cal_dates',array( 1176 'fd' => array( 1177 'cal_id' => array('type' => 'int','precision' => '4','nullable' => False), 1178 'cal_start' => array('type' => 'int','precision' => '8','nullable' => False), 1179 'cal_end' => array('type' => 'int','precision' => '8','nullable' => False) 1180 ), 1181 'pk' => array('cal_id','cal_start'), 1182 'fk' => array(), 1183 'ix' => array(), 1184 'uc' => array() 1185 )); 1186 $GLOBALS['egw_setup']->oProc->query("INSERT INTO egw_cal_dates SELECT cal_id,cal_starttime,cal_endtime FROM egw_cal"); 1187 1188 // drop the fields transfered to the dates table 1189 $GLOBALS['egw_setup']->oProc->DropColumn('egw_cal',array( 1190 'fd' => array( 1191 'cal_id' => array('type' => 'auto','nullable' => False), 1192 'cal_uid' => array('type' => 'varchar','precision' => '255','nullable' => False), 1193 'cal_owner' => array('type' => 'int','precision' => '8','nullable' => False), 1194 'cal_category' => array('type' => 'varchar','precision' => '30'), 1195 'cal_groups' => array('type' => 'varchar','precision' => '255'), 1196 'cal_modified' => array('type' => 'int','precision' => '8'), 1197 'cal_endtime' => array('type' => 'int','precision' => '8'), 1198 'cal_priority' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '2'), 1199 'cal_type' => array('type' => 'varchar','precision' => '10'), 1200 'cal_public' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '1'), 1201 'cal_title' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '1'), 1202 'cal_description' => array('type' => 'text'), 1203 'cal_location' => array('type' => 'varchar','precision' => '255'), 1204 'cal_reference' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0') 1205 ), 1206 'pk' => array('cal_id'), 1207 'fk' => array(), 1208 'ix' => array(), 1209 'uc' => array() 1210 ),'cal_starttime'); 1211 $GLOBALS['egw_setup']->oProc->DropColumn('egw_cal',array( 1212 'fd' => array( 1213 'cal_id' => array('type' => 'auto','nullable' => False), 1214 'cal_uid' => array('type' => 'varchar','precision' => '255','nullable' => False), 1215 'cal_owner' => array('type' => 'int','precision' => '8','nullable' => False), 1216 'cal_category' => array('type' => 'varchar','precision' => '30'), 1217 'cal_groups' => array('type' => 'varchar','precision' => '255'), 1218 'cal_modified' => array('type' => 'int','precision' => '8'), 1219 'cal_priority' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '2'), 1220 'cal_type' => array('type' => 'varchar','precision' => '10'), 1221 'cal_public' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '1'), 1222 'cal_title' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '1'), 1223 'cal_description' => array('type' => 'text'), 1224 'cal_location' => array('type' => 'varchar','precision' => '255'), 1225 'cal_reference' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0') 1226 ), 1227 'pk' => array('cal_id'), 1228 'fk' => array(), 1229 'ix' => array(), 1230 'uc' => array() 1231 ),'cal_endtime'); 1232 1233 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.001'; 1234 return $GLOBALS['setup_info']['calendar']['currentver']; 1235 } 1236 1237 1238 $test[] = '1.0.1.001'; 1239 function calendar_upgrade1_0_1_001() 1240 { 1241 /* done by RefreshTable() anyway 1242 $GLOBALS['egw_setup']->oProc->AddColumn('egw_cal_user','cal_recur_date',array( 1243 'type' => 'int', 1244 'precision' => '8', 1245 'default' => '0' 1246 ));*/ 1247 $GLOBALS['egw_setup']->oProc->RefreshTable('egw_cal_user',array( 1248 'fd' => array( 1249 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 1250 'cal_recur_date' => array('type' => 'int','precision' => '8','default' => '0'), 1251 'cal_user_type' => array('type' => 'varchar','precision' => '1','nullable' => False,'default' => 'u'), 1252 'cal_user_id' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'), 1253 'cal_status' => array('type' => 'char','precision' => '1','default' => 'A') 1254 ), 1255 'pk' => array('cal_id','cal_recur_date','cal_user_type','cal_user_id'), 1256 'fk' => array(), 1257 'ix' => array(), 1258 'uc' => array() 1259 )); 1260 1261 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.002'; 1262 return $GLOBALS['setup_info']['calendar']['currentver']; 1263 } 1264 1265 1266 $test[] = '1.0.1.002'; 1267 function calendar_upgrade1_0_1_002() 1268 { 1269 $GLOBALS['egw_setup']->oProc->DropColumn('egw_cal',array( 1270 'fd' => array( 1271 'cal_id' => array('type' => 'auto','nullable' => False), 1272 'cal_uid' => array('type' => 'varchar','precision' => '255','nullable' => False), 1273 'cal_owner' => array('type' => 'int','precision' => '8','nullable' => False), 1274 'cal_category' => array('type' => 'varchar','precision' => '30'), 1275 'cal_groups' => array('type' => 'varchar','precision' => '255'), 1276 'cal_modified' => array('type' => 'int','precision' => '8'), 1277 'cal_priority' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '2'), 1278 'cal_public' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '1'), 1279 'cal_title' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '1'), 1280 'cal_description' => array('type' => 'text'), 1281 'cal_location' => array('type' => 'varchar','precision' => '255'), 1282 'cal_reference' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0') 1283 ), 1284 'pk' => array('cal_id'), 1285 'fk' => array(), 1286 'ix' => array(), 1287 'uc' => array() 1288 ),'cal_type'); 1289 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_owner',array( 1290 'type' => 'int', 1291 'precision' => '4', 1292 'nullable' => False 1293 )); 1294 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_priority',array( 1295 'type' => 'int', 1296 'precision' => '2', 1297 'nullable' => False, 1298 'default' => '2' 1299 )); 1300 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_public',array( 1301 'type' => 'int', 1302 'precision' => '2', 1303 'nullable' => False, 1304 'default' => '1' 1305 )); 1306 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal','cal_reference',array( 1307 'type' => 'int', 1308 'precision' => '4', 1309 'nullable' => False, 1310 'default' => '0' 1311 )); 1312 $GLOBALS['egw_setup']->oProc->AddColumn('egw_cal','cal_modifier',array( 1313 'type' => 'int', 1314 'precision' => '4' 1315 )); 1316 1317 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.003'; 1318 return $GLOBALS['setup_info']['calendar']['currentver']; 1319 } 1320 1321 1322 $test[] = '1.0.1.003'; 1323 function calendar_upgrade1_0_1_003() 1324 { 1325 $GLOBALS['egw_setup']->oProc->DropColumn('egw_cal_repeats',array( 1326 'fd' => array( 1327 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False), 1328 'recur_type' => array('type' => 'int','precision' => '8','nullable' => False), 1329 'recur_enddate' => array('type' => 'int','precision' => '8'), 1330 'recur_interval' => array('type' => 'int','precision' => '8','default' => '1'), 1331 'recur_data' => array('type' => 'int','precision' => '8','default' => '1'), 1332 'recur_exception' => array('type' => 'varchar','precision' => '255','default' => '') 1333 ), 1334 'pk' => array('cal_id'), 1335 'fk' => array(), 1336 'ix' => array(), 1337 'uc' => array() 1338 ),'recur_use_end'); 1339 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_repeats','cal_id',array( 1340 'type' => 'int', 1341 'precision' => '4', 1342 'nullable' => False 1343 )); 1344 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_repeats','recur_type',array( 1345 'type' => 'int', 1346 'precision' => '2', 1347 'nullable' => False 1348 )); 1349 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_repeats','recur_interval',array( 1350 'type' => 'int', 1351 'precision' => '2', 1352 'default' => '1' 1353 )); 1354 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_repeats','recur_data',array( 1355 'type' => 'int', 1356 'precision' => '2', 1357 'default' => '1' 1358 )); 1359 1360 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.004'; 1361 return $GLOBALS['setup_info']['calendar']['currentver']; 1362 } 1363 1364 1365 $test[] = '1.0.1.004'; 1366 function calendar_upgrade1_0_1_004() 1367 { 1368 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_user','cal_id',array( 1369 'type' => 'int', 1370 'precision' => '4', 1371 'nullable' => False, 1372 'default' => '0' 1373 )); 1374 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_user','cal_user_id',array( 1375 'type' => 'int', 1376 'precision' => '4', 1377 'nullable' => False, 1378 'default' => '0' 1379 )); 1380 1381 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.005'; 1382 return $GLOBALS['setup_info']['calendar']['currentver']; 1383 } 1384 1385 1386 $test[] = '1.0.1.005'; 1387 function calendar_upgrade1_0_1_005() 1388 { 1389 $GLOBALS['egw_setup']->oProc->AddColumn('egw_cal_user','cal_quantity',array( 1390 'type' => 'int', 1391 'precision' => '4', 1392 'default' => '1' 1393 )); 1394 1395 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.006'; 1396 return $GLOBALS['setup_info']['calendar']['currentver']; 1397 } 1398 1399 1400 $test[] = '1.0.1.006'; 1401 function calendar_upgrade1_0_1_006() 1402 { 1403 $GLOBALS['egw_setup']->oProc->AddColumn('egw_cal','cal_non_blocking',array( 1404 'type' => 'int', 1405 'precision' => '2', 1406 'default' => '0' 1407 )); 1408 1409 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.007'; 1410 return $GLOBALS['setup_info']['calendar']['currentver']; 1411 } 1412 1413 1414 $test[] = '1.0.1.007'; 1415 function calendar_upgrade1_0_1_007() 1416 { 1417 $GLOBALS['egw_setup']->db->update('egw_cal_repeats',array('recur_exception' => null),array('recur_exception' => ''),__LINE__,__FILE__,'calendar'); 1418 1419 $GLOBALS['egw_setup']->oProc->AlterColumn('egw_cal_repeats','recur_exception',array( 1420 'type' => 'text' 1421 )); 1422 1423 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.008'; 1424 return $GLOBALS['setup_info']['calendar']['currentver']; 1425 } 1426 1427 1428 $test[] = '1.0.1.008'; 1429 function calendar_upgrade1_0_1_008() 1430 { 1431 $config =& CreateObject('phpgwapi.config','calendar'); 1432 $config_data = $config->read_repository(); 1433 if (isset($config_data['fields'])) // old custom fields 1434 { 1435 $customfields = array(); 1436 $order = 0; 1437 foreach($config_data['fields'] as $name => $data) 1438 { 1439 if ($name{0} == '#' && !$data['disabled']) // real not-disabled custom field 1440 { 1441 $customfields[substr($name,1)] = array( 1442 'type' => 'text', 1443 'len' => $data['length'].($data['shown'] ? ','.$data['shown'] : ''), 1444 'label' => $data['name'], 1445 'order' => ($order += 10), 1446 ); 1447 } 1448 } 1449 if (count($customfields)) 1450 { 1451 $config->save_value('customfields',$customfields); 1452 } 1453 $config->delete_value('fields'); 1454 $config->save_repository(); // delete_value does not save 1455 } 1456 $GLOBALS['setup_info']['calendar']['currentver'] = '1.0.1.009'; 1457 return $GLOBALS['setup_info']['calendar']['currentver']; 1458 } 1459 1460 1461 $test[] = '1.0.1.009'; 1462 function calendar_upgrade1_0_1_009() 1463 { 1464 $db2 = clone($GLOBALS['egw_setup']->db); 1465 $add_groups = array(); 1466 $GLOBALS['egw_setup']->db->select('egw_cal','DISTINCT egw_cal.cal_id,cal_groups,cal_recur_date',"cal_groups != ''",__LINE__,__FILE__, 1467 False,'','calendar',0,',egw_cal_user WHERE egw_cal.cal_id=egw_cal_user.cal_id'); 1468 while(($row = $GLOBALS['egw_setup']->db->row(true))) 1469 { 1470 $row['cal_user_type'] = 'u'; 1471 foreach(explode(',',$row['cal_groups']) as $group) 1472 { 1473 $row['cal_user_id'] = $group; 1474 $db2->insert('egw_cal_user',array('cal_status' => 'U'),$row,__LINE__,__FILE__,'calendar'); 1475 } 1476 } 1477 $GLOBALS['egw_setup']->oProc->DropColumn('egw_cal',array( 1478 'fd' => array( 1479 'cal_id' => array('type' => 'auto','nullable' => False), 1480 'cal_uid' => array('type' => 'varchar','precision' => '255','nullable' => False), 1481 'cal_owner' => array('type' => 'int','precision' => '4','nullable' => False), 1482 'cal_category' => array('type' => 'varchar','precision' => '30'), 1483 'cal_modified' => array('type' => 'int','precision' => '8'), 1484 'cal_priority' => array('type' => 'int','precision' => '2','nullable' => False,'default' => '2'), 1485 'cal_public' => array('type' => 'int','precision' => '2','nullable' => False,'default' => '1'), 1486 'cal_title' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '1'), 1487 'cal_description' => array('type' => 'text'), 1488 'cal_location' => array('type' => 'varchar','precision' => '255'), 1489 'cal_reference' => array('type' => 'int','precision' => '4','nullable' => False,'default' => '0'), 1490 'cal_modifier' => array('type' => 'int','precision' => '4'), 1491 'cal_non_blocking' => array('type' => 'int','precision' => '2','default' => '0') 1492 ), 1493 'pk' => array('cal_id'), 1494 'fk' => array(), 1495 'ix' => array(), 1496 'uc' => array() 1497 ),'cal_groups'); 1498 1499 return $GLOBALS['setup_info']['calendar']['currentver'] = '1.2'; 1500 } 1501 1502 1503 $test[] = '1.2'; 1504 function calendar_upgrade1_2() 1505 { 1506 // get old alarms (saved before 1.2) working again 1507 $GLOBALS['egw_setup']->db->query("UPDATE egw_async SET async_method ='calendar.bocalupdate.send_alarm' WHERE async_method ='calendar.bocalendar.send_alarm'",__LINE__,__FILE__); 1508 1509 return $GLOBALS['setup_info']['calendar']['currentver'] = '1.2.001'; 1510 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 17:20:01 2007 | par Balluche grâce à PHPXref 0.7 |