Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

ryxeo-glpi-git / inc / device.class.php @ b67d8923

Historique | Voir | Annoter | Télécharger (2,96 ko)

1
<?php
2
/*
3
 * @version $Id: device.class.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
if (!defined('GLPI_ROOT')){
32
        die("Sorry. You can't access directly to this file");
33
        }
34

    
35

    
36
///Class Devices
37
class Device extends CommonDBTM {
38
        /// Current device type
39
        var $devtype=0;
40

    
41
        /**
42
         * Constructor
43
         * @param $dev_type device type
44
        **/
45
        function Device($dev_type) {
46
                $this->devtype=$dev_type;
47
                $this->table=getDeviceTable($dev_type);
48
        }
49

    
50

    
51
        function cleanDBonPurge($ID) {
52
                global $DB;
53
                $query="SELECT FK_computers FROM glpi_computer_device WHERE (FK_device = '$ID' AND device_type='".$this->devtype."')";
54
                $result=$DB->query($query);
55
                if ($DB->numrows($result)){
56
                        while ($data=$DB->fetch_assoc($result)){
57
                                cleanAllItemCache("device_".$data["FK_computers"],"GLPI_".COMPUTER_TYPE);
58
                        }
59
                }
60
                $query2 = "DELETE FROM glpi_computer_device WHERE (FK_device = '$ID' AND device_type='".$this->devtype."')";
61
                $DB->query($query2);
62
        }
63

    
64
        function post_updateItem($input,$updates,$history=1) {
65
                global $DB;
66
                if (count($updates)){
67
                        $query="SELECT FK_computers FROM glpi_computer_device WHERE (FK_device = '".$input["ID"]."' AND device_type='".$input["device_type"]."')";
68
                        $result=$DB->query($query);
69
                        if ($DB->numrows($result)){
70
                                while ($data=$DB->fetch_assoc($result)){
71
                                        cleanAllItemCache("device_".$data["FK_computers"],"GLPI_".COMPUTER_TYPE);
72
                                }
73
                        }
74
                }
75
        }
76

    
77
        // SPECIFIC FUNCTIONS
78
        /**
79
         * Connect the current device to a computer
80
         *
81
         *@param $compID computer ID
82
         *@param $device_type device type
83
         *@param $specificity value of the specificity
84
         *@return boolean : success ?
85
        **/
86
        function computer_link($compID,$device_type,$specificity='') {
87
                global $DB;
88
                $query = "INSERT INTO glpi_computer_device (device_type,FK_device,FK_computers,specificity) values ('".$device_type."','".$this->fields["ID"]."','".$compID."','".$specificity."')";
89
                if($DB->query($query)) {
90
                        return $DB->insert_id();
91
                } else { 
92
                        return false;
93
                }
94
        }
95
}
96
?>
Redmine Appliance - Powered by TurnKey Linux