Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

ryxeo-glpi-git / install / update_068_0681.php @ b67d8923

Historique | Voir | Annoter | Télécharger (26,3 ko)

1 b67d8923 Eric Seigne
<?php
2
/*
3
 * @version $Id: update_068_0681.php 7763 2009-01-06 18:44:50Z moyo $
4
 -------------------------------------------------------------------------
5
 GLPI - Gestionnaire Libre de Parc Informatique
6
 Copyright (C) 2003-2009 by the INDEPNET Development Team.
7

8
 http://indepnet.net/   http://glpi-project.org
9
 -------------------------------------------------------------------------
10

11
 LICENSE
12

13
 This file is part of GLPI.
14

15
 GLPI is free software; you can redistribute it and/or modify
16
 it under the terms of the GNU General Public License as published by
17
 the Free Software Foundation; either version 2 of the License, or
18
 (at your option) any later version.
19

20
 GLPI is distributed in the hope that it will be useful,
21
 but WITHOUT ANY WARRANTY; without even the implied warranty of
22
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
 GNU General Public License for more details.
24

25
 You should have received a copy of the GNU General Public License
26
 along with GLPI; if not, write to the Free Software
27
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28
 --------------------------------------------------------------------------
29
 */
30
31
// ----------------------------------------------------------------------
32
// Original Author of file:
33
// Purpose of file:
34
// ----------------------------------------------------------------------
35
36
/// Update from 0.68 to 0.68.1
37
function update068to0681(){
38
        global $DB,$LANG,$CFG_GLPI;
39
40
        if(TableExists("glpi_repair_item")) {
41
                $query = "DROP TABLE `glpi_repair_item`;";
42
                $DB->query($query) or die("0.68.1 drop glpi_repair_item ".$LANG["update"][90].$DB->error());
43
        }
44
45
        $tables=array("computers","monitors","networking","peripherals","phones","printers");
46
        foreach ($tables as $tbl){
47
                if (isIndex("glpi_".$tbl,"type")){
48
                        $query = "ALTER TABLE `glpi_$tbl` DROP INDEX `type`;";
49
                        $DB->query($query) or die("0.68.1 drop index type glpi_$tbl ".$LANG["update"][90].$DB->error());
50
                }
51
                if (isIndex("glpi_".$tbl,"type_2")){
52
                        $query = "ALTER TABLE `glpi_$tbl` DROP INDEX `type_2`;";
53
                        $DB->query($query) or die("0.68.1 drop index type_2 glpi_$tbl ".$LANG["update"][90].$DB->error());
54
                }
55
                if (isIndex("glpi_".$tbl,"model")){
56
                        $query = "ALTER TABLE `glpi_$tbl` DROP INDEX `model`;";
57
                        $DB->query($query) or die("0.68.1 drop index model glpi_$tbl ".$LANG["update"][90].$DB->error());
58
                }
59
60
                if (!isIndex("glpi_".$tbl,"type")){
61
                        $query = "ALTER TABLE `glpi_$tbl` ADD INDEX ( `type` )";
62
                        $DB->query($query) or die("0.68.1 add index type glpi_$tbl ".$LANG["update"][90].$DB->error());
63
                }
64
                if (!isIndex("glpi_".$tbl,"model")){
65
                        $query = "ALTER TABLE `glpi_$tbl` ADD INDEX ( `model` )";
66
                        $DB->query($query) or die("0.68.1 add index model glpi_$tbl ".$LANG["update"][90].$DB->error());
67
                }
68
69
                if(!isIndex("glpi_".$tbl, "FK_groups")) {
70
                        $query = "ALTER TABLE `glpi_$tbl` ADD INDEX ( `FK_groups` )";
71
                        $DB->query($query) or die("0.68.1 add index on glpi_$tbl.FK_groups ".$LANG["update"][90].$DB->error());
72
                }
73
74
                if(!isIndex("glpi_".$tbl, "FK_users")) {
75
                        $query = "ALTER TABLE `glpi_$tbl` ADD INDEX ( `FK_users` )";
76
                        $DB->query($query) or die("0.68.1 add index on glpi_$tbl.FK_users ".$LANG["update"][90].$DB->error());
77
                }
78
79
        }
80
81
82
        if(!isIndex("glpi_software", "FK_groups")) {
83
                $query = "ALTER TABLE `glpi_software` ADD INDEX ( `FK_groups` )";
84
                $DB->query($query) or die("0.68.1 add index on glpi_software.FK_groups ".$LANG["update"][90].$DB->error());
85
        }
86
87
        if(!isIndex("glpi_software", "FK_users")) {
88
                $query = "ALTER TABLE `glpi_software` ADD INDEX ( `FK_users` )";
89
                $DB->query($query) or die("0.68.1 add index on glpi_software.FK_users ".$LANG["update"][90].$DB->error());
90
        }
91
92
93
        if(!isIndex("glpi_cartridges_type", "location")) {
94
                $query = "ALTER TABLE `glpi_cartridges_type` ADD INDEX ( `location` )";
95
                $DB->query($query) or die("0.68.1 add index on glpi_cartridges_type.location ".$LANG["update"][90].$DB->error());
96
        }
97
98
        if(FieldExists("glpi_cartridges_type", "type")) {
99
                $query = "ALTER TABLE `glpi_cartridges_type` CHANGE `type` `type` INT NOT NULL DEFAULT '0'";
100
                $DB->query($query) or die("0.68.1 alter glpi_cartridges_type.type ".$LANG["update"][90].$DB->error());
101
        }
102
103
        if(!isIndex("glpi_cartridges_type", "type")) {
104
                $query = "ALTER TABLE `glpi_cartridges_type` ADD INDEX ( type )";
105
                $DB->query($query) or die("0.68.1 add index on glpi_cartridges_type.type ".$LANG["update"][90].$DB->error());
106
        }
107
108
        if(!isIndex("glpi_cartridges_type", "alarm")) {
109
                $query = "ALTER TABLE `glpi_cartridges_type` ADD INDEX ( alarm )";
110
                $DB->query($query) or die("0.68.1 add index on glpi_cartridges_type.alarm ".$LANG["update"][90].$DB->error());
111
        }
112
113
        if(!isIndex("glpi_computers", "os_sp")) {
114
                $query = "ALTER TABLE `glpi_computers` ADD INDEX ( `os_sp` )";
115
                $DB->query($query) or die("0.68.1 add index on glpi_computers.os_sp ".$LANG["update"][90].$DB->error());
116
        }
117
118
        if(!isIndex("glpi_computers", "os_version")) {
119
                $query = "ALTER TABLE `glpi_computers` ADD INDEX ( `os_version` )";
120
                $DB->query($query) or die("0.68.1 add index on glpi_computers.os_version ".$LANG["update"][90].$DB->error());
121
        }
122
123
        if(!isIndex("glpi_computers", "network")) {
124
                $query = "ALTER TABLE `glpi_computers` ADD INDEX ( `network` )";
125
                $DB->query($query) or die("0.68.1 add index on glpi_computers.network ".$LANG["update"][90].$DB->error());
126
        }
127
128
        if(!isIndex("glpi_computers", "domain")) {
129
                $query = "ALTER TABLE `glpi_computers` ADD INDEX ( `domain` )";
130
                $DB->query($query) or die("0.68.1 add index on glpi_computers.domain ".$LANG["update"][90].$DB->error());
131
        }
132
133
        if(!isIndex("glpi_computers", "auto_update")) {
134
                $query = "ALTER TABLE `glpi_computers` ADD INDEX ( `auto_update` )";
135
                $DB->query($query) or die("0.68.1 add index on glpi_computers.auto_update ".$LANG["update"][90].$DB->error());
136
        }
137
138
        if(!isIndex("glpi_computers", "ocs_import")) {
139
                $query = "ALTER TABLE `glpi_computers` ADD INDEX ( `ocs_import` )";
140
                $DB->query($query) or die("0.68.1 add index on glpi_computers.ocs_import ".$LANG["update"][90].$DB->error());
141
        }
142
143
        if(!isIndex("glpi_consumables", "id_user")) {
144
                $query = "ALTER TABLE `glpi_consumables` ADD INDEX ( `id_user` )";
145
                $DB->query($query) or die("0.68.1 add index on glpi_consumables.id_user ".$LANG["update"][90].$DB->error());
146
        }
147
148
        if(!isIndex("glpi_consumables_type", "location")) {
149
                $query = "ALTER TABLE `glpi_consumables_type` ADD INDEX ( `location` )";
150
                $DB->query($query) or die("0.68.1 add index on glpi_consumables_type.location ".$LANG["update"][90].$DB->error());
151
        }
152
153
        if(!isIndex("glpi_consumables_type", "type")) {
154
                $query = "ALTER TABLE `glpi_consumables_type` ADD INDEX ( `type` )";
155
                $DB->query($query) or die("0.68.1 add index on glpi_consumables_type.type ".$LANG["update"][90].$DB->error());
156
        }
157
158
        if(!isIndex("glpi_consumables_type", "alarm")) {
159
                $query = "ALTER TABLE `glpi_consumables_type` ADD INDEX ( `alarm` )";
160
                $DB->query($query) or die("0.68.1 add index on glpi_consumables_type.alarm ".$LANG["update"][90].$DB->error());
161
        }
162
163
        if(FieldExists("glpi_contacts", "type")) {
164
                $query = "ALTER TABLE `glpi_contacts` CHANGE `type` `type` INT( 11 ) NULL ";
165
                $DB->query($query) or die("0.68.1 alter glpi_contacts.type ".$LANG["update"][90].$DB->error());
166
        }
167
168
        if(!isIndex("glpi_contract_device", "device_type")) {
169
                $query = "ALTER TABLE `glpi_contract_device` ADD INDEX ( `device_type` )";
170
                $DB->query($query) or die("0.68.1 add index on glpi_contract_device.device_type ".$LANG["update"][90].$DB->error());
171
        }
172
173
        if(!isIndex("glpi_contract_device", "is_template")) {
174
                $query = "ALTER TABLE `glpi_contract_device` ADD INDEX ( `is_template` )";
175
                $DB->query($query) or die("0.68.1 add index on glpi_contract_device.is_template ".$LANG["update"][90].$DB->error());
176
        }
177
178
        if(!isIndex("glpi_device_hdd", "interface")) {
179
                $query = "ALTER TABLE `glpi_device_hdd` ADD INDEX ( `interface` )";
180
                $DB->query($query) or die("0.68.1 add index on glpi_device_hdd.interface ".$LANG["update"][90].$DB->error());
181
        }
182
183
        if(!isIndex("glpi_device_ram", "type")) {
184
                $query = "ALTER TABLE `glpi_device_ram` ADD INDEX ( `type` )";
185
                $DB->query($query) or die("0.68.1 add index on glpi_device_ram.type ".$LANG["update"][90].$DB->error());
186
        }
187
188
        if(!isIndex("glpi_display", "FK_users")) {
189
                $query = "ALTER TABLE `glpi_display` ADD INDEX ( `FK_users` )";
190
                $DB->query($query) or die("0.68.1 add index on glpi_display.FK_users ".$LANG["update"][90].$DB->error());
191
        }
192
193
        if(!isIndex("glpi_docs", "FK_users")) {
194
                $query = "ALTER TABLE `glpi_docs` ADD INDEX ( `FK_users` )";
195
                $DB->query($query) or die("0.68.1 add index on glpi_docs.FK_users ".$LANG["update"][90].$DB->error());
196
        }
197
198
        if(!isIndex("glpi_docs", "FK_tracking")) {
199
                $query = "ALTER TABLE `glpi_docs` ADD INDEX ( `FK_tracking` )";
200
                $DB->query($query) or die("0.68.1 add index on glpi_docs.FK_tracking ".$LANG["update"][90].$DB->error());
201
        }
202
203
        if(!isIndex("glpi_doc_device", "device_type")) {
204
                $query = "ALTER TABLE `glpi_doc_device` ADD INDEX ( `device_type` )";
205
                $DB->query($query) or die("0.68.1 add index on glpi_doc_device.device_type ".$LANG["update"][90].$DB->error());
206
        }
207
208
        if(!isIndex("glpi_dropdown_tracking_category", "parentID")) {
209
                $query = "ALTER TABLE `glpi_dropdown_tracking_category` ADD INDEX ( `parentID` )";
210
                $DB->query($query) or die("0.68.1 add index on glpi_dropdown_tracking_category.parentID ".$LANG["update"][90].$DB->error());
211
        }
212
213
        if(!isIndex("glpi_history", "device_type")) {
214
                $query = "ALTER TABLE `glpi_history` ADD INDEX ( `device_type` )";
215
                $DB->query($query) or die("0.68.1 add index on glpi_history.device_type ".$LANG["update"][90].$DB->error());
216
        }
217
218
        if(!isIndex("glpi_history", "device_internal_type")) {
219
                $query = "ALTER TABLE `glpi_history` ADD INDEX ( `device_internal_type` )";
220
                $DB->query($query) or die("0.68.1 add index on glpi_history.device_internal_type ".$LANG["update"][90].$DB->error());
221
        }
222
223
        if(!isIndex("glpi_infocoms", "budget")) {
224
                $query = "ALTER TABLE `glpi_infocoms` ADD INDEX ( `budget` )";
225
                $DB->query($query) or die("0.68.1 add index on glpi_infocoms.budget ".$LANG["update"][90].$DB->error());
226
        }
227
228
        if(!isIndex("glpi_infocoms", "alert")) {
229
                $query = "ALTER TABLE `glpi_infocoms` ADD INDEX ( `alert` )";
230
                $DB->query($query) or die("0.68.1 add index on glpi_infocoms.alert ".$LANG["update"][90].$DB->error());
231
        }
232
233
        if(!isIndex("glpi_kbitems", "author")) {
234
                $query = "ALTER TABLE `glpi_kbitems` ADD INDEX ( `author` )";
235
                $DB->query($query) or die("0.68.1 add index on glpi_kbitems.author ".$LANG["update"][90].$DB->error());
236
        }
237
238
        if(!isIndex("glpi_kbitems", "faq")) {
239
                $query = "ALTER TABLE `glpi_kbitems` ADD INDEX ( `faq` )";
240
                $DB->query($query) or die("0.68.1 add index on glpi_kbitems.faq ".$LANG["update"][90].$DB->error());
241
        }
242
243
        if(!isIndex("glpi_licenses", "oem_computer")) {
244
                $query = "ALTER TABLE `glpi_licenses` ADD INDEX ( `oem_computer` )";
245
                $DB->query($query) or die("0.68.1 add index on glpi_licenses.oem_computer ".$LANG["update"][90].$DB->error());
246
        }
247
248
        if(!isIndex("glpi_licenses", "oem")) {
249
                $query = "ALTER TABLE `glpi_licenses` ADD INDEX ( `oem` )";
250
                $DB->query($query) or die("0.68.1 add index on glpi_licenses.oem ".$LANG["update"][90].$DB->error());
251
        }
252
253
        if(!isIndex("glpi_licenses", "buy")) {
254
                $query = "ALTER TABLE `glpi_licenses` ADD INDEX ( `buy` )";
255
                $DB->query($query) or die("0.68.1 add index on glpi_licenses.buy ".$LANG["update"][90].$DB->error());
256
        }
257
258
        if(!isIndex("glpi_licenses", "serial")) {
259
                $query = "ALTER TABLE `glpi_licenses` ADD INDEX ( `serial` )";
260
                $DB->query($query) or die("0.68.1 add index on glpi_licenses.serial ".$LANG["update"][90].$DB->error());
261
        }
262
263
        if(!isIndex("glpi_licenses", "expire")) {
264
                $query = "ALTER TABLE `glpi_licenses` ADD INDEX ( `expire` )";
265
                $DB->query($query) or die("0.68.1 add index on glpi_licenses.expire ".$LANG["update"][90].$DB->error());
266
        }
267
268
        if(!isIndex("glpi_networking", "network")) {
269
                $query = "ALTER TABLE `glpi_networking` ADD INDEX ( `network` )";
270
                $DB->query($query) or die("0.68.1 add index on glpi_networking.network ".$LANG["update"][90].$DB->error());
271
        }
272
273
        if(!isIndex("glpi_networking", "domain")) {
274
                $query = "ALTER TABLE `glpi_networking` ADD INDEX ( `domain` )";
275
                $DB->query($query) or die("0.68.1 add index on glpi_networking.domain ".$LANG["update"][90].$DB->error());
276
        }
277
278
        if(!isIndex("glpi_networking_ports", "iface")) {
279
                $query = "ALTER TABLE `glpi_networking_ports` ADD INDEX ( `iface` )";
280
                $DB->query($query) or die("0.68.1 add index on glpi_networking_ports.iface ".$LANG["update"][90].$DB->error());
281
        }
282
283
        if(FieldExists("glpi_phones", "power")) {
284
                $query = "ALTER TABLE `glpi_phones` CHANGE `power` `power` INT NOT NULL DEFAULT '0'";
285
                $DB->query($query) or die("0.68.1 alter glpi_phones.power ".$LANG["update"][90].$DB->error());
286
        }
287
288
        if(!isIndex("glpi_phones", "power")) {
289
                $query = "ALTER TABLE `glpi_phones` ADD INDEX ( `power` )";
290
                $DB->query($query) or die("0.68.1 add index on glpi_phones.power ".$LANG["update"][90].$DB->error());
291
        }
292
293
        if(!isIndex("glpi_reminder", "begin")) {
294
                $query = "ALTER TABLE `glpi_reminder` ADD INDEX ( `begin` )";
295
                $DB->query($query) or die("0.68.1 add index on glpi_reminder.begin ".$LANG["update"][90].$DB->error());
296
        }
297
298
        if(!isIndex("glpi_reminder", "end")) {
299
                $query = "ALTER TABLE `glpi_reminder` ADD INDEX ( `end` )";
300
                $DB->query($query) or die("0.68.1 add index on glpi_reminder.end ".$LANG["update"][90].$DB->error());
301
        }
302
303
        if(!isIndex("glpi_software", "update_software")) {
304
                $query = "ALTER TABLE `glpi_software` ADD INDEX ( `update_software` )";
305
                $DB->query($query) or die("0.68.1 add index on glpi_software.update_software ".$LANG["update"][90].$DB->error());
306
        }
307
308
        if(!isIndex("glpi_state_item", "state")) {
309
                $query = "ALTER TABLE `glpi_state_item` ADD INDEX ( `state` )";
310
                $DB->query($query) or die("0.68.1 add index on glpi_state_item.state ".$LANG["update"][90].$DB->error());
311
        }
312
313
        if(!isIndex("glpi_tracking", "FK_group")) {
314
                $query = "ALTER TABLE `glpi_tracking` ADD INDEX ( `FK_group` )";
315
                $DB->query($query) or die("0.68.1 add index on glpi_tracking.FK_group ".$LANG["update"][90].$DB->error());
316
        }
317
318
        if(!isIndex("glpi_tracking", "assign_ent")) {
319
                $query = "ALTER TABLE `glpi_tracking` ADD INDEX ( `assign_ent` )";
320
                $DB->query($query) or die("0.68.1 add index on glpi_tracking.assign_ent ".$LANG["update"][90].$DB->error());
321
        }
322
323
        if(!isIndex("glpi_tracking", "device_type")) {
324
                $query = "ALTER TABLE `glpi_tracking` ADD INDEX ( `device_type` )";
325
                $DB->query($query) or die("0.68.1 add index on glpi_tracking.device_type ".$LANG["update"][90].$DB->error());
326
        }
327
328
        if(!isIndex("glpi_tracking", "priority")) {
329
                $query = "ALTER TABLE `glpi_tracking` ADD INDEX ( `priority` )";
330
                $DB->query($query) or die("0.68.1 add index on glpi_tracking.priority ".$LANG["update"][90].$DB->error());
331
        }
332
333
        if(!isIndex("glpi_tracking", "request_type")) {
334
                $query = "ALTER TABLE `glpi_tracking` ADD INDEX ( `request_type` )";
335
                $DB->query($query) or die("0.68.1 add index on glpi_tracking.request_type ".$LANG["update"][90].$DB->error());
336
        }
337
338
        if(!isIndex("glpi_users", "location")) {
339
                $query = "ALTER TABLE `glpi_users` ADD INDEX ( `location` )";
340
                $DB->query($query) or die("0.68.1 add index on glpi_users.location ".$LANG["update"][90].$DB->error());
341
        }
342
343
        if(!isIndex("glpi_printers", "network")) {
344
                $query = "ALTER TABLE `glpi_printers` ADD INDEX ( `network` )";
345
                $DB->query($query) or die("0.68.1 add index on glpi_printers.network ".$LANG["update"][90].$DB->error());
346
        }
347
348
        if(!isIndex("glpi_printers", "domain")) {
349
                $query = "ALTER TABLE `glpi_printers` ADD INDEX ( `domain` )";
350
                $DB->query($query) or die("0.68.1 add index on glpi_printers.domain ".$LANG["update"][90].$DB->error());
351
        }
352
353
        if(FieldExists("glpi_device_case", "format")) {
354
                $query = "ALTER TABLE `glpi_device_case` CHANGE `format` `format` ENUM( 'Grand', 'Moyen', 'Micro', 'Slim', '' ) NULL DEFAULT 'Moyen'";
355
                $DB->query($query) or die("0.68.1 alter glpi_device_case.format ".$LANG["update"][90].$DB->error());
356
        }
357
358
        if(FieldExists("glpi_device_gfxcard", "interface")) {
359
                $query = "ALTER TABLE `glpi_device_gfxcard` CHANGE `interface` `interface` ENUM( 'AGP', 'PCI', 'PCI-X', 'Other', '' ) NULL DEFAULT 'AGP'";
360
                $DB->query($query) or die("0.68.1 alter glpi_device_gfxcard.interface ".$LANG["update"][90].$DB->error());
361
        }
362
363
        // Add default values in GLPI_DROPDOWN_HDD_TYPE
364
        // Rename glpi_dropdown HDD_TYPE -> INTERFACE
365
        if(!TableExists("glpi_dropdown_interface")) {
366
                $query = "ALTER TABLE `glpi_dropdown_hdd_type` RENAME `glpi_dropdown_interface` ";
367
                $DB->query($query) or die("0.68.1 alter dropdown_hdd_type -> dropdown_interface ".$LANG["update"][90].$DB->error());
368
369
                $values=array("SATA","IDE","SCSI","USB");
370
                $interfaces=array();
371
                foreach ($values as $val){
372
                        $query="SELECT * FROM glpi_dropdown_interface WHERE name LIKE '$val';";
373
                        $result=$DB->query($query);
374
                        if ($DB->numrows($result)==1){
375
                                $row=$DB->fetch_array($result);
376
                                $interfaces[$val]=$row["ID"];
377
                        } else {
378
                                $query="INSERT INTO glpi_dropdown_interface (`name`) VALUES ('$val');";
379
                                $DB->query($query);
380
                                $interfaces[$val]=$DB->insert_id();
381
                        }
382
                }
383
                // ALTER TABLES
384
                $query = "ALTER TABLE `glpi_device_control` CHANGE `interface` `interface2` ENUM( 'IDE', 'SATA', 'SCSI', 'USB' ) NOT NULL DEFAULT 'IDE'";
385
                $DB->query($query) or die("0.68.1 alter device_control ".$LANG["update"][90].$DB->error());
386
                $query = "ALTER TABLE `glpi_device_drive` CHANGE `interface` `interface2` ENUM( 'IDE', 'SATA', 'SCSI' )  NOT NULL DEFAULT 'IDE'";
387
                $DB->query($query) or die("0.68.1 alter device_drive ".$LANG["update"][90].$DB->error());
388
389
                $query = "ALTER TABLE `glpi_device_control` ADD `interface` INT NULL ";
390
                $DB->query($query) or die("0.68.1 alter device_control ".$LANG["update"][90].$DB->error());
391
                $query = "ALTER TABLE `glpi_device_drive` ADD `interface` INT NULL ";
392
                $DB->query($query) or die("0.68.1 alter device_drive ".$LANG["update"][90].$DB->error());
393
394
395
                foreach ($interfaces as $name => $ID){
396
                        $query="UPDATE glpi_device_drive SET interface='$ID' WHERE interface2='$name';";
397
                        $DB->query($query) or die("0.68.1 update data device_drive ".$LANG["update"][90].$DB->error());
398
                        $query="UPDATE glpi_device_control SET interface='$ID' WHERE interface2='$name';";
399
                        $DB->query($query) or die("0.68.1 update data device_control ".$LANG["update"][90].$DB->error());
400
                }
401
402
                // DROP TABLES
403
                $query = "ALTER TABLE `glpi_device_control` DROP `interface2`;";
404
                $DB->query($query) or die("0.68.1 drop interface2 device_drive ".$LANG["update"][90].$DB->error());
405
                $query = "ALTER TABLE `glpi_device_drive` DROP `interface2`;";
406
                $DB->query($query) or die("0.68.1 drop interface2 device_drive ".$LANG["update"][90].$DB->error());
407
408
                // ADD INDEX
409
                $query = "ALTER TABLE `glpi_device_drive` ADD INDEX ( `interface` )";
410
                $DB->query($query) or die("0.68.1 add index on glpi_device_drive.interface ".$LANG["update"][90].$DB->error());
411
                $query = "ALTER TABLE `glpi_device_control` ADD INDEX ( `interface` )";
412
                $DB->query($query) or die("0.68.1 add index on glpi_device_drive.interface ".$LANG["update"][90].$DB->error());
413
414
        }
415
416
        if(FieldExists("glpi_profiles", "update")) {
417
                $query = "ALTER TABLE `glpi_profiles` CHANGE `update` `check_update` CHAR( 1 ) NULL DEFAULT NULL";
418
                $DB->query($query) or die("0.68.1 alter glpi_profiles.update ".$LANG["update"][90].$DB->error());
419
        }
420
421
        if(FieldExists("glpi_config", "last_update_check")) {
422
                $query = "ALTER TABLE `glpi_config` DROP `last_update_check`;";
423
                $DB->query($query) or die("0.68.1 drop glpi_config.last_update_check ".$LANG["update"][90].$DB->error());
424
        }
425
426
427
        if(!FieldExists("glpi_config", "keep_tracking_on_delete")) {
428
                $query = "ALTER TABLE `glpi_config` ADD `keep_tracking_on_delete` INT DEFAULT '1'";
429
                $DB->query($query) or die("0.68.1 drop glpi_config.keep_tracking_on_delete ".$LANG["update"][90].$DB->error());
430
        }
431
432
        if(!FieldExists("glpi_config", "show_admin_doc")) {
433
                $query = "ALTER TABLE `glpi_config` ADD `show_admin_doc` INT DEFAULT '0' ";
434
                $DB->query($query) or die("0.68.1 drop glpi_config.show_admin_doc ".$LANG["update"][90].$DB->error());
435
        }
436
437
        if(!FieldExists("glpi_config", "time_step")) {
438
                $query = "ALTER TABLE `glpi_config` ADD `time_step` INT DEFAULT '5' ";
439
                $DB->query($query) or die("0.68.1 drop glpi_config.time_step ".$LANG["update"][90].$DB->error());
440
        }
441
442
        $query="UPDATE glpi_config SET time_step='5', show_admin_doc='0', keep_tracking_on_delete='0';";
443
        $DB->query($query) or die("0.68.1 update glpi_config data ".$LANG["update"][90].$DB->error());
444
445
        if(!FieldExists("glpi_ocs_config", "cron_sync_number")) {
446
                $query = "ALTER TABLE `glpi_ocs_config` ADD `cron_sync_number` INT DEFAULT '1' ";
447
                $DB->query($query) or die("0.68.1 drop glpi_ocs_config.cron_sync_number ".$LANG["update"][90].$DB->error());
448
        }
449
450
        if(!FieldExists("glpi_profiles", "show_group_ticket")) {
451
                $query = "ALTER TABLE `glpi_profiles` ADD `show_group_ticket` char(1) DEFAULT '0' ";
452
                $DB->query($query) or die("0.68.1 drop glpi_profiles.show_group_ticket ".$LANG["update"][90].$DB->error());
453
        }
454
455
        if(!FieldExists("glpi_config", "ldap_group_condition")) {
456
                $query = "ALTER TABLE `glpi_config` ADD `ldap_group_condition` VARCHAR( 255 ) NULL ,
457
                        ADD `ldap_search_for_groups` TINYINT NOT NULL DEFAULT '0',
458
                        ADD `ldap_field_group_member` VARCHAR( 255 ) NULL ";
459
                $DB->query($query) or die("0.68.1 add glpi_config.ldap_*_groups ".$LANG["update"][90].$DB->error());
460
        }
461
462
        if(!FieldExists("glpi_groups", "ldap_group_dn")) {
463
                $query = "ALTER TABLE `glpi_groups` ADD `ldap_group_dn` VARCHAR( 255 ) NULL ";
464
                $DB->query($query) or die("0.68.1 add glpi_groups.ldap_group_dn ".$LANG["update"][90].$DB->error());
465
        }
466
467
468
        if(!FieldExists("glpi_ocs_link", "ocs_deviceid")) {
469
                $query = "ALTER TABLE `glpi_ocs_link` CHANGE `ocs_id` `ocs_deviceid` VARCHAR( 255 ) NOT NULL ;";
470
                $DB->query($query) or die("0.68.1 add glpi_ocs_link.ocs_deviceid ".$LANG["update"][90].$DB->error());
471
        }
472
473
474
        if(!FieldExists("glpi_ocs_link", "ocs_id")) {
475
                $query = "ALTER TABLE `glpi_ocs_link` ADD `ocs_id` INT NOT NULL DEFAULT '0' AFTER `glpi_id` ;";
476
                $DB->query($query) or die("0.68.1 add glpi_ocs_link.ocs_id ".$LANG["update"][90].$DB->error());
477
        }
478
479
        if(!FieldExists("glpi_ocs_link", "last_ocs_update")) {
480
                $query = "ALTER TABLE `glpi_ocs_link` ADD `last_ocs_update` DATETIME NULL AFTER `last_update` ;";
481
                $DB->query($query) or die("0.68.1 add glpi_ocs_link.last_ocs_update ".$LANG["update"][90].$DB->error());
482
        }
483
484
485
486
487
488
489
        if (countElementsInTable("glpi_ocs_link")){
490
                include_once (GLPI_ROOT . "/inc/commondbtm.class.php");
491
                include_once (GLPI_ROOT . "/inc/ocsng.function.php");
492
                include_once (GLPI_ROOT . "/inc/ocsng.class.php");
493
                $CFG_GLPI["ocs_mode"]=1;
494
                $DBocs=new DBocs(1);
495
                // Get datas to update
496
                $query="SELECT * 
497
                        FROM glpi_ocs_link";
498
                $result_glpi=$DB->query($query);
499
500
                while ($data_glpi=$DB->fetch_array($result_glpi)){
501
502
                        // Get ocs informations
503
                        $query_ocs="SELECT * 
504
                                FROM hardware WHERE DEVICEID='".$data_glpi["ocs_deviceid"]."' 
505
                                LIMIT 1;";
506
507
                        $result_ocs=$DBocs->query($query_ocs) or die("0.68.1 get ocs infos ".$LANG["update"][90].$DB->error());
508
                        if ($result_ocs&&$DBocs->numrows($result_ocs)){
509
                                $data_ocs=$DBocs->fetch_array($result_ocs);
510
511
                                $query_update="UPDATE glpi_ocs_link
512
                                        SET ocs_id='".$data_ocs["ID"]."', 
513
                                            last_ocs_update='".$data_ocs["LASTDATE"]."'
514
                                                    WHERE ID='".$data_glpi["ID"]."';";
515
                                $DB->query($query_update) or die("0.68.1 update ocs infos ".$LANG["update"][90].$DB->error());
516
                        }
517
                }
518
        }
519
520
        if(!TableExists("glpi_dropdown_case_type")) {
521
522
                $query ="CREATE TABLE `glpi_dropdown_case_type` (
523
                        `ID` int(11) NOT NULL auto_increment,
524
                        `name` varchar(255) NOT NULL,
525
                        `comments` text,
526
                        PRIMARY KEY  (`ID`),
527
                        KEY `name` (`name`)
528
                                ) ENGINE=MyISAM ;";
529
530
                $DB->query($query) or die("0.68.1 add table dropdown_case_type ".$LANG["update"][90].$DB->error());
531
                // ajout du champs type
532
                $query = "ALTER TABLE `glpi_device_case` ADD  `type` INT( 11 ) default NULL AFTER `designation` ;";
533
534
                $DB->query($query) or die("0.68.1 add glpi_device_case.type ".$LANG["update"][90].$DB->error());
535
536
                // Ajout des entrees dans la table dropdown_case_type
537
                $query = "INSERT INTO `glpi_dropdown_case_type` ( `ID` , `name` , `comments` ) VALUES ('1' , 'Grand', NULL);";
538
                $DB->query($query) or die("0.68.1 glpi_device_case ".$LANG["update"][90].$DB->error());
539
                $query = "INSERT INTO `glpi_dropdown_case_type` ( `ID` , `name` , `comments` ) VALUES ('2' , 'Moyen', NULL);";
540
                $DB->query($query) or die("0.68.1 glpi_device_case ".$LANG["update"][90].$DB->error());
541
                $query = "INSERT INTO `glpi_dropdown_case_type` ( `ID` , `name` , `comments` ) VALUES ('3' , 'Micro', NULL);";
542
                $DB->query($query) or die("0.68.1 glpi_device_case ".$LANG["update"][90].$DB->error());
543
544
                // Mapping format enum / type
545
546
                $query = "UPDATE `glpi_device_case` SET  `type`='1' WHERE `format`='Grand';";
547
                $DB->query($query) or die("0.68.1 glpi_device_case ".$LANG["update"][90].$DB->error());
548
                $query = "UPDATE `glpi_device_case` SET  `type`='2' WHERE `format`='Moyen';";
549
                $DB->query($query) or die("0.68.1 glpi_device_case ".$LANG["update"][90].$DB->error());
550
                $query = "UPDATE `glpi_device_case` SET  `type`='3' WHERE `format`='Micro';";
551
                $DB->query($query) or die("0.68.1 glpi_device_case ".$LANG["update"][90].$DB->error());
552
553
                // Supression du champts format
554
                $query = "ALTER TABLE `glpi_device_case` DROP `format`;";
555
                $DB->query($query) or die("0.68.1 drop format from glpi_device_case ".$LANG["update"][90].$DB->error());
556
557
558
        }
559
560
        // Clean state datas
561
        if(TableExists("glpi_state_item")) {
562
                $query="SELECT COUNT(*) AS CPT, device_type, id_device 
563
                        FROM glpi_state_item
564
                        GROUP BY device_type, id_device
565
                        HAVING CPT > 1";
566
                $result=$DB->query($query);
567
                if ($DB->numrows($result)){
568
                        while ($data=$DB->fetch_array($result)){
569
                                $query2="DELETE FROM glpi_state_item
570
                                                                WHERE device_type='".$data["device_type"]."'
571
                                                                AND id_device='".$data["id_device"]."'
572
                                                                LIMIT ".($data["CPT"]-1).";";
573
                                $DB->query($query2) or die("0.68.1 clean glpi_state_item ".$LANG["update"][90].$DB->error());
574
                        }
575
                }
576
        
577
                if (isIndex("glpi_state_item","device_type")){
578
                        $query=" ALTER TABLE `glpi_state_item` DROP INDEX `device_type` ;";
579
                        $DB->query($query) or die("0.68.1 drop index glpi_state_item ".$LANG["update"][90].$DB->error());
580
                }
581
                if (isIndex("glpi_state_item","device_type2")){
582
                        $query=" ALTER TABLE `glpi_state_item` DROP INDEX `device_type2` ;";
583
                        $DB->query($query) or die("0.68.1 drop index glpi_state_item ".$LANG["update"][90].$DB->error());
584
                }
585
        
586
                $query=" ALTER TABLE `glpi_state_item` ADD INDEX ( `device_type` ) ";
587
                $DB->query($query) or die("0.68.1 add index glpi_state_item ".$LANG["update"][90].$DB->error());
588
                $query=" ALTER TABLE `glpi_state_item` ADD UNIQUE ( `device_type`,`id_device` ) ";
589
                $DB->query($query) or die("0.68.1 add unique glpi_state_item ".$LANG["update"][90].$DB->error());
590
        }
591
592
593
} // fin 0.68 #####################################################################################
594
595
?>
Redmine Appliance - Powered by TurnKey Linux