Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

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

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

1
<?php
2
/*
3
 * @version $Id: update_051_06.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.51x to 0.6
37
function update051to06(){
38
        global $DB,$LANG;
39

    
40
        echo "<p class='center'>Version 0.6 </p>";
41

    
42
        /*******************************GLPI 0.6***********************************************/
43
        $query= "UPDATE `glpi_tracking` SET `category`='0' WHERE `category` IS NULL;";
44
        $DB->query($query) or die("0.6 prepare for alter category tracking ".$LANG["update"][90].$DB->error());        
45

    
46
        $query= "ALTER TABLE `glpi_tracking` CHANGE `category` `category` INT(11) DEFAULT '0' NOT NULL";
47
        $DB->query($query) or die("0.6 alter category tracking ".$LANG["update"][90].$DB->error());        
48

    
49
        // state pour les template 
50
        if(!FieldExists("glpi_state_item","is_template")) {
51
                $query= "ALTER TABLE `glpi_state_item` ADD `is_template` ENUM('0', '1') DEFAULT '0' NOT NULL ;";
52
                $DB->query($query) or die("0.6 add is_template in state_item ".$LANG["update"][90].$DB->error());        
53
        }
54

    
55

    
56
        if(!TableExists("glpi_dropdown_cartridge_type")) {
57

    
58
                $query = "CREATE TABLE glpi_dropdown_cartridge_type (
59
                        ID int(11) NOT NULL auto_increment,
60
                           name varchar(255) NOT NULL default '',
61
                           PRIMARY KEY  (ID)
62
                                   ) TYPE=MyISAM;";
63

    
64
                $DB->query($query) or die("0.6 add table dropdown_cartridge_type ".$LANG["update"][90].$DB->error());
65

    
66
                $query="INSERT INTO glpi_dropdown_cartridge_type (name) VALUES ('".$LANG["cartridges"][11]."');";
67
                $DB->query($query) or die("0.6 add entries to dropdown_cartridge_type ".$LANG["update"][90].$DB->error());
68
                $query="INSERT INTO glpi_dropdown_cartridge_type (name) VALUES ('".$LANG["cartridges"][10]."');";
69
                $DB->query($query) or die("0.6 add entries to dropdown_cartridge_type ".$LANG["update"][90].$DB->error());
70
                $query="INSERT INTO glpi_dropdown_cartridge_type (name) VALUES ('".$LANG["cartridges"][37]."');";
71
                $DB->query($query) or die("0.6 add entries to dropdown_cartridge_type ".$LANG["update"][90].$DB->error());
72
        }
73

    
74
        // specific alarm pour les cartouches
75
        if(!FieldExists("glpi_cartridges_type","alarm")) {
76
                $query= "ALTER TABLE `glpi_cartridges_type` ADD `alarm` TINYINT DEFAULT '10' NOT NULL ;";
77
                $DB->query($query) or die("0.6 add alarm in cartridges_type ".$LANG["update"][90].$DB->error());        
78
        }
79

    
80
        // email for enterprises
81
        if(!FieldExists("glpi_enterprises","email")) {
82
                $query= "ALTER TABLE `glpi_enterprises` ADD `email` VARCHAR(255) NOT NULL;";
83
                $DB->query($query) or die("0.6 add email in enterprises ".$LANG["update"][90].$DB->error());        
84
        }
85

    
86
        // ldap_port for config
87
        if(!FieldExists("glpi_config","ldap_port")) {
88
                $query= "ALTER TABLE `glpi_config` ADD `ldap_port` VARCHAR(10) DEFAULT '389' NOT NULL AFTER `ID` ;";
89
                $DB->query($query) or die("0.6 add ldap_port in config ".$LANG["update"][90].$DB->error());        
90
        }
91

    
92
        // CAS configuration
93
        if(!FieldExists("glpi_config","cas_host")) {
94
                $query= "ALTER TABLE `glpi_config` ADD `cas_host` VARCHAR(255) NOT NULL ,
95
                        ADD `cas_port` VARCHAR(255) NOT NULL ,
96
                        ADD `cas_uri` VARCHAR(255) NOT NULL ;";
97
                $DB->query($query) or die("0.6 add cas config in config ".$LANG["update"][90].$DB->error());        
98
        }
99

    
100
        // Limit Item for contracts and correct template bug 
101
        if(!FieldExists("glpi_contracts","device_countmax")) {
102
                $query= "ALTER TABLE `glpi_contracts` ADD `device_countmax` INT DEFAULT '0' NOT NULL ;";
103
                $DB->query($query) or die("0.6 add device_countmax in contracts ".$LANG["update"][90].$DB->error());        
104
        }
105

    
106
        if(!FieldExists("glpi_contract_device","is_template")) {
107
                $query= "ALTER TABLE `glpi_contract_device` ADD `is_template` ENUM('0', '1') DEFAULT '0' NOT NULL ;";
108
                $DB->query($query) or die("0.6 add is_template in contract_device ".$LANG["update"][90].$DB->error());
109
                //$query= " ALTER TABLE `glpi_contract_device` ADD INDEX (`is_template `) ";
110
                //$DB->query($query) or die("0.6 alter is_template in contract_device ".$LANG["update"][90].$DB->error());        
111
        }
112

    
113
        if(!FieldExists("glpi_doc_device","is_template")) {
114
                $query= "ALTER TABLE `glpi_doc_device` ADD `is_template` ENUM('0', '1') DEFAULT '0' NOT NULL ;";
115
                $DB->query($query) or die("0.6 add is_template in doc_device ".$LANG["update"][90].$DB->error());        
116
                $query= "ALTER TABLE `glpi_doc_device` ADD INDEX (`is_template`) ;";
117
                $DB->query($query) or die("0.6 alter is_template in doc_device ".$LANG["update"][90].$DB->error());        
118
        }
119

    
120
        // Contract Type to dropdown
121
        if(!TableExists("glpi_dropdown_contract_type")) {
122

    
123
                $query = "CREATE TABLE glpi_dropdown_contract_type (
124
                        ID int(11) NOT NULL auto_increment,
125
                           name varchar(255) NOT NULL default '',
126
                           PRIMARY KEY  (ID)
127
                                   ) TYPE=MyISAM;";
128

    
129
                $DB->query($query) or die("0.6 add table dropdown_contract_type ".$LANG["update"][90].$DB->error());
130

    
131
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][50]."');";
132
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
133
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][51]."');";
134
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
135
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][52]."');";
136
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
137
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][53]."');";
138
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
139
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][54]."');";
140
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
141
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][55]."');";
142
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
143
                $query="INSERT INTO glpi_dropdown_contract_type (name) VALUES ('".$LANG["financial"][56]."');";
144
                $DB->query($query) or die("0.6 add entries to dropdown_contract_type ".$LANG["update"][90].$DB->error());
145

    
146
        }
147

    
148
        //// Update author and assign from tracking / followups
149
        if(!FieldExists("glpi_tracking","assign_type")) {
150

    
151
                // Create assin_type field
152
                $query= "ALTER TABLE `glpi_tracking` ADD `assign_type` TINYINT DEFAULT '0' NOT NULL AFTER `assign` ;";
153
                $DB->query($query) or die("0.6 add assign_type in tracking ".$LANG["update"][90].$DB->error());        
154

    
155
                $users=array();
156
                // Load All users
157
                $query="SELECT ID, name FROM glpi_users";
158
                $result=$DB->query($query);
159
                while($line = $DB->fetch_array($result)) {
160
                        $users[$line["name"]]=$line["ID"];
161
                }
162
                $DB->free_result($result);
163

    
164
                // Update authors tracking
165
                $query= "UPDATE `glpi_tracking` SET `author`='0' WHERE `author` IS NULL;";
166
                $DB->query($query) or die("0.6 prepare for alter category tracking ".$LANG["update"][90].$DB->error());        
167

    
168
                // Load tracking authors tables
169
                $authors=array();
170
                $query="SELECT ID, author FROM glpi_tracking";
171
                $result=$DB->query($query);
172
                while($line = $DB->fetch_array($result)) {
173
                        $authors[$line["ID"]]=$line["author"];
174
                }
175
                $DB->free_result($result);
176

    
177
                if (count($authors)>0)
178
                        foreach ($authors as $ID => $val){
179
                                if (isset($users[$val])){
180
                                        $query="UPDATE glpi_tracking SET author='".$users[$val]."' WHERE ID='$ID'";
181
                                        $DB->query($query);
182
                                }
183
                        }
184
                unset($authors);
185

    
186
                $query= "ALTER TABLE `glpi_tracking` CHANGE `author` `author` INT(11) DEFAULT '0' NOT NULL";
187
                $DB->query($query) or die("0.6 alter author in tracking ".$LANG["update"][90].$DB->error());        
188

    
189
                $assign=array();
190

    
191

    
192
                // Load tracking assign tables
193
                $query="SELECT ID, assign FROM glpi_tracking";
194
                $result=$DB->query($query);
195
                while($line = $DB->fetch_array($result)) {
196
                        $assign[$line["ID"]]=$line["assign"];
197
                }
198
                $DB->free_result($result);
199

    
200

    
201
                if (count($assign)>0)
202
                        foreach ($assign as $ID => $val){
203
                                if (isset($users[$val])){
204
                                        $query="UPDATE glpi_tracking SET assign='".$users[$val]."', assign_type='".USER_TYPE."' WHERE ID='$ID'";
205
                                        $DB->query($query);
206
                                }
207
                        }
208
                unset($assign);
209

    
210
                // Update assign tracking
211
                $query= "ALTER TABLE `glpi_tracking` CHANGE `assign` `assign` INT(11) DEFAULT '0' NOT NULL";
212
                $DB->query($query) or die("0.6 alter assign in tracking ".$LANG["update"][90].$DB->error());        
213

    
214
                $authors=array();
215
                // Load followup authors tables
216
                $query="SELECT ID, author FROM glpi_followups";
217
                $result=$DB->query($query);
218
                while($line = $DB->fetch_array($result)) {
219
                        $authors[$line["ID"]]=$line["author"];
220
                }
221
                $DB->free_result($result);
222

    
223

    
224
                if (count($authors)>0)
225
                        foreach ($authors as $ID => $val){
226
                                if (isset($users[$val])){
227
                                        $query="UPDATE glpi_followups SET author='".$users[$val]."' WHERE ID='$ID'";
228
                                        $DB->query($query);
229
                                }
230
                        }
231
                unset($authors);
232

    
233
                // Update authors tracking
234
                $query= "ALTER TABLE `glpi_followups` CHANGE `author` `author` INT(11) DEFAULT '0' NOT NULL";
235
                $DB->query($query) or die("0.6 alter author in followups ".$LANG["update"][90].$DB->error());        
236

    
237
                // Update Enterprise Tracking
238
                $query="SELECT computer, ID FROM glpi_tracking WHERE device_type='".ENTERPRISE_TYPE."'";
239
                $result=$DB->query($query);
240

    
241
                if ($DB->numrows($result)>0)
242
                        while($line = $DB->fetch_array($result)) {
243
                                $query="UPDATE glpi_tracking SET assign='".$line["computer"]."', assign_type='".ENTERPRISE_TYPE."', device_type='0', computer='0' WHERE ID='".$line["ID"]."'";
244
                                $DB->query($query);
245
                        }
246
                $DB->free_result($result);
247
        }
248

    
249
        // Add planning feature 
250

    
251
        if(!TableExists("glpi_tracking_planning")) {
252

    
253
                $query = "CREATE TABLE `glpi_tracking_planning` (
254
                        `ID` bigint(20) NOT NULL auto_increment,
255
                        `id_tracking` int(11) NOT NULL default '0',
256
                        `id_assign` int(11) NOT NULL default '0',
257
                        `begin` datetime NOT NULL default '0000-00-00 00:00:00',
258
                        `end` datetime NOT NULL default '0000-00-00 00:00:00',
259
                        PRIMARY KEY  (`ID`),
260
                        KEY `id_tracking` (`id_tracking`),
261
                        KEY `begin` (`begin`),
262
                        KEY `end` (`end`)
263
                                ) TYPE=MyISAM ;";
264

    
265
                $DB->query($query) or die("0.6 add table glpi_tracking_planning ".$LANG["update"][90].$DB->error());
266
        }
267

    
268
        if(!FieldExists("glpi_config","planning_begin")) {
269
                $query="ALTER TABLE `glpi_config` ADD `planning_begin` TIME DEFAULT '08:00:00' NOT NULL";
270

    
271
                $DB->query($query) or die("0.6 add planning begin in config".$LANG["update"][90].$DB->error());
272
        }
273
        if(!FieldExists("glpi_config","planning_end")) {
274
                $query="ALTER TABLE `glpi_config` ADD `planning_end` TIME DEFAULT '20:00:00' NOT NULL";
275

    
276
                $DB->query($query) or die("0.6 add planning end in config".$LANG["update"][90].$DB->error());
277
        }
278

    
279
        // Merge glpi_users and glpi_prefs
280
        if(!FieldExists("glpi_users","language")) {
281
                // Create fields
282
                $query="ALTER TABLE `glpi_users` ADD `tracking_order` ENUM('yes', 'no') DEFAULT 'no' NOT NULL ;";
283
                $DB->query($query) or die("0.6 add tracking_order in users".$LANG["update"][90].$DB->error());
284
                $query="ALTER TABLE `glpi_users` ADD `language` VARCHAR(255) NOT NULL DEFAULT 'english';";
285
                $DB->query($query) or die("0.6 add language in users".$LANG["update"][90].$DB->error());
286

    
287
                // Move data
288
                $query="SELECT * from glpi_prefs";
289
                $result=$DB->query($query);
290
                if ($DB->numrows($result)>0)
291
                        while ($data=$DB->fetch_array($result)){
292
                                $query2="UPDATE glpi_users SET language='".$data['language']."', tracking_order='".$data['tracking_order']."' WHERE name='".$data['username']."';";        
293
                                $DB->query($query2) or die("0.6 move pref to users".$LANG["update"][90].$DB->error());        
294
                        }
295
                $DB->free_result($result);
296
                // Drop glpi_prefs
297
                $query="DROP TABLE `glpi_prefs`;";
298
                $DB->query($query) or die("0.6 drop glpi_prefs".$LANG["update"][90].$DB->error());
299

    
300

    
301
        }
302

    
303
        // Create glpi_dropdown_ram_type
304
        if(!TableExists("glpi_dropdown_ram_type")) {
305
                $query = "CREATE TABLE `glpi_dropdown_ram_type` (
306
                        `ID` int(11) NOT NULL auto_increment,
307
                        `name` varchar(255) NOT NULL default '',
308
                        PRIMARY KEY  (`ID`)
309
                                ) TYPE=MyISAM;";
310

    
311
                $DB->query($query) or die("0.6 add table glpi_dropdown_ram_type ".$LANG["update"][90].$DB->error());
312
                $query="ALTER TABLE `glpi_device_ram` ADD `new_type` INT(11) DEFAULT '0' NOT NULL ;";
313
                $DB->query($query) or die("0.6 create new type field for glpi_device_ram ".$LANG["update"][90].$DB->error());
314
                $query="INSERT INTO `glpi_dropdown_ram_type` (`name`) VALUES ('EDO');";
315
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
316
                $query="INSERT INTO `glpi_dropdown_ram_type` (`name`) VALUES ('DDR');";
317
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
318
                $query="INSERT INTO `glpi_dropdown_ram_type` (`name`) VALUES ('SDRAM');";
319
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
320
                $query="INSERT INTO `glpi_dropdown_ram_type` (`name`) VALUES ('SDRAM-2');";
321
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
322

    
323
                // Get values
324
                $query="SELECT * from glpi_dropdown_ram_type";
325
                $result=$DB->query($query);
326
                $val=array();
327
                while ($data=$DB->fetch_array($result)){
328
                        $val[$data['name']]=$data['ID'];
329
                }        
330
                $DB->free_result($result);
331

    
332
                // Update glpi_device_ram
333
                $query="SELECT * from glpi_device_ram";
334
                $result=$DB->query($query);
335
                if ($DB->numrows($result)>0)
336
                        while ($data=$DB->fetch_array($result)){
337
                                $query2="UPDATE glpi_device_ram SET new_type='".$val[$data['type']]."' WHERE ID ='".$data['ID']."';";
338
                                $DB->query($query2);
339
                        }
340
                $DB->free_result($result);
341
                // ALTER glpi_device_ram
342
                $query="ALTER TABLE `glpi_device_ram` DROP `type`;";
343
                $DB->query($query) or die("0.6 drop type in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
344
                $query="ALTER TABLE `glpi_device_ram` CHANGE `new_type` `type` INT(11) DEFAULT '0' NOT NULL ";
345
                $DB->query($query) or die("0.6 rename new_type in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
346

    
347

    
348
        }
349

    
350
        // Create external links
351
        if(!TableExists("glpi_links")) {
352
                $query = "CREATE TABLE `glpi_links` (
353
                        `ID` int(11) NOT NULL auto_increment,
354
                        `name` varchar(255) NOT NULL default '',
355
                        PRIMARY KEY  (`ID`)
356
                                ) TYPE=MyISAM;";
357

    
358
                $DB->query($query) or die("0.6 add table glpi_links ".$LANG["update"][90].$DB->error());
359
        }
360

    
361
        if(!TableExists("glpi_links_device")) {
362

    
363
                $query = "CREATE TABLE `glpi_links_device` (
364
                        `ID` int(11) NOT NULL auto_increment,
365
                        `FK_links` int(11) NOT NULL default '0',
366
                        `device_type` int(11) NOT NULL default '0',
367
                        PRIMARY KEY  (`ID`),
368
                        KEY `device_type` (`device_type`),
369
                        KEY `FK_links` (`FK_links`),
370
                        UNIQUE `device_type_2` (`device_type`,`FK_links`)
371
                                ) TYPE=MyISAM;";
372

    
373
                $DB->query($query) or die("0.6 add table glpi_links_device ".$LANG["update"][90].$DB->error());
374
        }
375

    
376
        // Initial count page for printer
377
        if(!FieldExists("glpi_printers","initial_pages")) {
378
                $query="ALTER TABLE `glpi_printers` ADD `initial_pages` VARCHAR(30) DEFAULT '0' NOT NULL ;";
379
                $DB->query($query) or die("0.6 add initial_pages in printers".$LANG["update"][90].$DB->error());
380
        }
381

    
382
        // Auto assign intervention
383
        if(!FieldExists("glpi_config","auto_assign")) {
384
                $query="ALTER TABLE `glpi_config` ADD `auto_assign` ENUM('0', '1') DEFAULT '0' NOT NULL ;";
385
                $DB->query($query) or die("0.6 add auto_assign in config".$LANG["update"][90].$DB->error());
386
        }
387

    
388
        // Create glpi_dropdown_network
389
        if(!TableExists("glpi_dropdown_network")) {
390
                $query = "CREATE TABLE `glpi_dropdown_network` (
391
                        `ID` int(11) NOT NULL auto_increment,
392
                        `name` varchar(255) NOT NULL default '',
393
                        PRIMARY KEY  (`ID`)
394
                                ) TYPE=MyISAM;";
395
                $DB->query($query) or die("0.6 add table glpi_dropdown_network ".$LANG["update"][90].$DB->error());
396
        }
397
        if(!FieldExists("glpi_computers","network")) {
398
                $query="ALTER TABLE `glpi_computers` ADD `network` INT(11) DEFAULT '0' NOT NULL AFTER `location` ;";
399
                $DB->query($query) or die("0.6 a network in computers".$LANG["update"][90].$DB->error());
400
        }
401
        if(!FieldExists("glpi_printers","network")) {
402
                $query="ALTER TABLE `glpi_printers` ADD `network` INT(11) DEFAULT '0' NOT NULL AFTER `location` ;";
403
                $DB->query($query) or die("0.6 add network in printers".$LANG["update"][90].$DB->error());
404
        }
405
        if(!FieldExists("glpi_networking","network")) {        
406
                $query="ALTER TABLE `glpi_networking` ADD `network` INT(11) DEFAULT '0' NOT NULL AFTER `location` ;";
407
                $DB->query($query) or die("0.6 a network in networking".$LANG["update"][90].$DB->error());
408
        }
409

    
410
        // Create glpi_dropdown_domain
411
        if(!TableExists("glpi_dropdown_domain")) {
412
                $query = "CREATE TABLE `glpi_dropdown_domain` (
413
                        `ID` int(11) NOT NULL auto_increment,
414
                        `name` varchar(255) NOT NULL default '',
415
                        PRIMARY KEY  (`ID`)
416
                                ) TYPE=MyISAM;";
417
                $DB->query($query) or die("0.6 add table glpi_dropdown_domain ".$LANG["update"][90].$DB->error());
418
        }
419
        if(!FieldExists("glpi_computers","domain")) {
420
                $query="ALTER TABLE `glpi_computers` ADD `domain` INT(11) DEFAULT '0' NOT NULL AFTER `location` ;";
421
                $DB->query($query) or die("0.6 a domain in computers".$LANG["update"][90].$DB->error());
422
        }
423
        if(!FieldExists("glpi_printers","domain")) {
424
                $query="ALTER TABLE `glpi_printers` ADD `domain` INT(11) DEFAULT '0' NOT NULL AFTER `location` ;";
425
                $DB->query($query) or die("0.6 a domain in printers".$LANG["update"][90].$DB->error());
426
        }
427
        if(!FieldExists("glpi_networking","domain")) {
428
                $query="ALTER TABLE `glpi_networking` ADD `domain` INT(11) DEFAULT '0' NOT NULL AFTER `location` ;";
429
                $DB->query($query) or die("0.6 a domain in networking".$LANG["update"][90].$DB->error());
430
        }
431

    
432
        // Create glpi_dropdown_vlan
433
        if(!TableExists("glpi_dropdown_vlan")) {
434
                $query = "CREATE TABLE `glpi_dropdown_vlan` (
435
                        `ID` int(11) NOT NULL auto_increment,
436
                        `name` varchar(255) NOT NULL default '',
437
                        PRIMARY KEY  (`ID`)
438
                                ) TYPE=MyISAM;";
439
                $DB->query($query) or die("0.6 add table glpi_dropdown_vlan ".$LANG["update"][90].$DB->error());
440
        }
441

    
442
        if(!TableExists("glpi_networking_vlan")) {
443
                $query = "CREATE TABLE `glpi_networking_vlan` (
444
                        `ID` int(11) NOT NULL auto_increment,
445
                        `FK_port` int(11) NOT NULL default '0',
446
                        `FK_vlan` int(11) NOT NULL default '0',
447
                        PRIMARY KEY  (`ID`),
448
                        KEY `FK_port` (`FK_port`),
449
                        KEY `FK_vlan` (`FK_vlan`),
450
                        UNIQUE `FK_port_2` (`FK_port`,`FK_vlan`)
451
                                ) TYPE=MyISAM;";
452
                $DB->query($query) or die("0.6 add table glpi_networking_vlan ".$LANG["update"][90].$DB->error());
453
        }
454

    
455
        // Global Peripherals
456
        if(!FieldExists("glpi_peripherals","is_global")) {
457
                $query="ALTER TABLE `glpi_peripherals` ADD `is_global` ENUM('0', '1') DEFAULT '0' NOT NULL AFTER `FK_glpi_enterprise` ;";
458
                $DB->query($query) or die("0.6 add is_global in peripherals".$LANG["update"][90].$DB->error());
459
        }
460

    
461
        // Global Monitors
462
        if(!FieldExists("glpi_monitors","is_global")) {
463
                $query="ALTER TABLE `glpi_monitors` ADD `is_global` ENUM('0', '1') DEFAULT '0' NOT NULL AFTER `FK_glpi_enterprise` ;";
464
                $DB->query($query) or die("0.6 add is_global in peripherals".$LANG["update"][90].$DB->error());
465
        }
466

    
467
        // Mailing Resa
468
        if(!FieldExists("glpi_config","mailing_resa_admin")) {
469
                $query="ALTER TABLE `glpi_config` ADD `mailing_resa_admin` VARCHAR(200) NOT NULL DEFAULT '1' AFTER `admin_email` ;";
470
                $DB->query($query) or die("0.6 add mailing_resa_admin in config".$LANG["update"][90].$DB->error());
471
        }
472
        if(!FieldExists("glpi_config","mailing_resa_user")) {
473
                $query="ALTER TABLE `glpi_config` ADD `mailing_resa_user` VARCHAR(200) NOT NULL DEFAULT '1' AFTER `admin_email` ;";
474
                $DB->query($query) or die("0.6 add mailing_resa_user in config".$LANG["update"][90].$DB->error());
475
        }
476
        if(!FieldExists("glpi_config","mailing_resa_all_admin")) {
477
                $query="ALTER TABLE `glpi_config` ADD `mailing_resa_all_admin` VARCHAR(200) NOT NULL DEFAULT '0' AFTER `admin_email` ;";
478
                $DB->query($query) or die("0.6 add mailing_resa_all_admin in config".$LANG["update"][90].$DB->error());
479
        }
480

    
481
        // Mod�e ordinateurs
482
        if(!TableExists("glpi_dropdown_model")) {
483
                // model=type pour faciliter la gestion en post mise �jour : ya plus qu'a deleter les elements non voulu
484
                // cela conviendra a tout le monde en fonction de l'utilisation du champ type
485

    
486
                $query="ALTER TABLE `glpi_type_computers` RENAME `glpi_dropdown_model` ;";
487
                $DB->query($query) or die("0.6 rename table glpi_type_computers ".$LANG["update"][90].$DB->error());
488

    
489
                $query = "CREATE TABLE `glpi_type_computers` (
490
                        `ID` int(11) NOT NULL auto_increment,
491
                        `name` varchar(255) NOT NULL default '',
492
                        PRIMARY KEY  (`ID`)
493
                                ) TYPE=MyISAM;";
494

    
495
                $DB->query($query) or die("0.6 add table glpi_type_computers ".$LANG["update"][90].$DB->error());
496

    
497
                // copie model dans type
498
                $query="SELECT * FROM glpi_dropdown_model";
499
                $result=$DB->query($query);        
500
                if ($DB->numrows($result)>0)
501
                        while ($data=$DB->fetch_array($result)){
502
                                $query="INSERT INTO `glpi_type_computers` (`ID`,`name`) VALUES ('".$data['ID']."','".addslashes($data['name'])."');";
503
                                $DB->query($query) or die("0.6 insert value in glpi_type_computers ".$LANG["update"][90].$DB->error());                
504
                        }
505
                $DB->free_result($result);
506

    
507
                $query="INSERT INTO `glpi_type_computers` (`name`) VALUES ('".$LANG["common"][52]."');";
508
                $DB->query($query) or die("0.6 insert value in glpi_type_computers ".$LANG["update"][90].$DB->error());
509
                $serverid=$DB->insert_id();
510

    
511
                // Type -> mod�e
512
                $query="ALTER TABLE `glpi_computers` CHANGE `type` `model` INT(11) DEFAULT NULL ";
513
                $DB->query($query) or die("0.6 add model in computers".$LANG["update"][90].$DB->error());
514

    
515
                $query="ALTER TABLE `glpi_computers` ADD `type` INT(11) DEFAULT NULL AFTER `model` ;";
516
                $DB->query($query) or die("0.6 add model in computers".$LANG["update"][90].$DB->error());
517

    
518
                // Update server values and drop flags_server
519
                $query="UPDATE glpi_computers SET type='$serverid' where flags_server='1'";
520
                $DB->query($query) or die("0.6 update type of computers".$LANG["update"][90].$DB->error());
521

    
522
                $query="ALTER TABLE `glpi_computers` DROP `flags_server`;";
523
                $DB->query($query) or die("0.6 drop type in glpi_dropdown_ram ".$LANG["update"][90].$DB->error());
524

    
525
        }
526

    
527
        if(!TableExists("glpi_consumables_type")) {
528

    
529
                $query = "CREATE TABLE `glpi_consumables_type` (
530
                        `ID` int(11) NOT NULL auto_increment,
531
                        `name` varchar(255) NOT NULL default '',
532
                        `ref` varchar(255) NOT NULL default '',
533
                        `location` int(11) NOT NULL default '0',
534
                        `type` tinyint(4) NOT NULL default '0',
535
                        `FK_glpi_enterprise` int(11) NOT NULL default '0',
536
                        `tech_num` int(11) default '0',
537
                        `deleted` enum('Y','N') NOT NULL default 'N',
538
                        `comments` text NOT NULL,
539
                        `alarm` tinyint(4) NOT NULL default '10',
540
                        PRIMARY KEY  (`ID`),
541
                        KEY `FK_glpi_enterprise` (`FK_glpi_enterprise`),
542
                        KEY `tech_num` (`tech_num`),
543
                        KEY `deleted` (`deleted`)
544
                                ) TYPE=MyISAM;";
545

    
546
                $DB->query($query) or die("0.6 add table glpi_consumables_type ".$LANG["update"][90].$DB->error());
547

    
548
                $query = "CREATE TABLE `glpi_consumables` (
549
                        `ID` int(11) NOT NULL auto_increment,
550
                        `FK_glpi_consumables_type` int(11) default NULL,
551
                        `date_in` date default NULL,
552
                        `date_out` date default NULL,
553
                        PRIMARY KEY  (`ID`),
554
                        KEY `FK_glpi_cartridges_type` (`FK_glpi_consumables_type`),
555
                        KEY `date_in` (`date_in`),
556
                        KEY `date_out` (`date_out`)
557
                                ) TYPE=MyISAM;";
558

    
559
                $DB->query($query) or die("0.6 add table glpi_consumables ".$LANG["update"][90].$DB->error());
560

    
561
                $query = "CREATE TABLE `glpi_dropdown_consumable_type` (
562
                        `ID` int(11) NOT NULL auto_increment,
563
                        `name` varchar(255) NOT NULL default '',
564
                        PRIMARY KEY  (`ID`)
565
                                ) TYPE=MyISAM;";
566

    
567
                $DB->query($query) or die("0.6 add table glpi_dropdown_consumable_type ".$LANG["update"][90].$DB->error());
568

    
569
        }
570

    
571
        // HDD connect type
572
        if(!TableExists("glpi_dropdown_hdd_type")) {
573
                $query = "CREATE TABLE `glpi_dropdown_hdd_type` (
574
                        `ID` int(11) NOT NULL auto_increment,
575
                        `name` varchar(255) NOT NULL default '',
576
                        PRIMARY KEY  (`ID`)
577
                                ) TYPE=MyISAM;";
578

    
579
                $DB->query($query) or die("0.6 add table glpi_dropdown_hdd_type ".$LANG["update"][90].$DB->error());
580

    
581
                $query="INSERT INTO `glpi_dropdown_hdd_type` (`name`) VALUES ('IDE');";
582
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_hdd_type ".$LANG["update"][90].$DB->error());
583
                $query="INSERT INTO `glpi_dropdown_hdd_type` (`name`) VALUES ('SATA');";
584
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_hdd_type ".$LANG["update"][90].$DB->error());
585
                $query="INSERT INTO `glpi_dropdown_hdd_type` (`name`) VALUES ('SCSI');";
586
                $DB->query($query) or die("0.6 insert value in glpi_dropdown_hdd_type ".$LANG["update"][90].$DB->error());
587

    
588
                // Insertion des enum dans l'ordre - le alter garde donc les bonne valeurs
589
                $query="ALTER TABLE `glpi_device_hdd` CHANGE `interface` `interface` INT(11) DEFAULT '0' NOT NULL";
590
                $DB->query($query) or die("0.6 alter interface of  glpi_device_hdd".$LANG["update"][90].$DB->error());
591
        }
592

    
593
}
594

    
595
?>
Redmine Appliance - Powered by TurnKey Linux