Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

glpi / setup.php @ 8b28e91d

History | View | Annotate | Download (9.33 KB)

1 efcf5ecf Francois POIROTTE
<?php
2
3 a5c9df40 Thibault Louet
require __DIR__ . "/hook.php";
4 efcf5ecf Francois POIROTTE
5 a5c9df40 Thibault Louet
function plugin_init_vigilo()
6
{
7 efcf5ecf Francois POIROTTE
    global $PLUGIN_HOOKS;
8 0d761a49 Romain CHOLLET
    global $DB;
9 efcf5ecf Francois POIROTTE
    $hooks      =& $PLUGIN_HOOKS;
10
    $p          =  "vigilo";
11
    $hookObj    =  new VigiloHooks();
12
    $hooks['csrf_compliant'][$p]        = true;
13 8b28e91d Romain CHOLLET
    $hooks['item_add'][$p]              = array("Computer" => array($hookObj, "addComputer"),
14
                                                "NetworkEquipment" => array($hookObj, "addNetworkEquipment"),
15 a5c9df40 Thibault Louet
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
16
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
17
                                                "IPAddress" => array($hookObj,"manageAddresses"),
18
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
19
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
20
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
21
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
22
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
23
                                                "Software" => array($hookObj,"manageSoftwares"),
24
                                                "Location" => array($hookObj,"updateGroups"),
25
                                                "Entity" => array($hookObj,"updateGroups"),
26 79397eb3 Romain CHOLLET
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
27 a5c9df40 Thibault Louet
                                                "Manufacturer" => array($hookObj,"updateGroups"));
28 8b28e91d Romain CHOLLET
    $hooks['item_update'][$p]           = array("Computer" => array($hookObj, "updateComputer"),
29
                                                "NetworkEquipment" => array($hookObj, "updateNetworkEquipment"),
30 a5c9df40 Thibault Louet
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
31
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
32
                                                "IPAddress" => array($hookObj,"manageAddresses"),
33
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
34
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
35
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
36
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
37
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
38
                                                "Software" => array($hookObj,"manageSoftwares"),
39
                                                "Location" => array($hookObj,"updateGroups"),
40 79397eb3 Romain CHOLLET
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
41 a5c9df40 Thibault Louet
                                                "Entity" => array($hookObj,"updateGroups"),
42 79397eb3 Romain CHOLLET
                                                "Manufacturer" => array($hookObj,"updateGroups"));
43 bef4271a Thibault Louet
    $hooks['item_purge'][$p]            = array("Computer" => array($hookObj, "delete"),
44 8b28e91d Romain CHOLLET
                                                "NetworkEquipment" => array($hookObj, "delete"),
45 a5c9df40 Thibault Louet
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
46
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
47
                                                "IPAddress" => array($hookObj,"manageAddresses"),
48
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
49
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
50
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
51
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
52
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
53
                                                "Software" => array($hookObj,"manageSoftwares"),
54
                                                "Location" => array($hookObj,"updateGroups"),
55 79397eb3 Romain CHOLLET
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
56 a5c9df40 Thibault Louet
                                                "Entity" => array($hookObj,"updateGroups"),
57
                                                "Manufacturer" => array($hookObj,"updateGroups"));
58 bef4271a Thibault Louet
    $hooks['item_delete'][$p]           = array("Computer" => array($hookObj, "delete"),
59 8b28e91d Romain CHOLLET
                                                "NetworkEquipment" => array($hookObj, "delete"),
60 a5c9df40 Thibault Louet
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
61
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
62
                                                "IPAddress" => array($hookObj,"manageAddresses"),
63
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
64
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
65
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
66
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
67
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
68
                                                "Software" => array($hookObj,"manageSoftwares"),
69
                                                "Location" => array($hookObj,"updateGroups"),
70 79397eb3 Romain CHOLLET
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
71 a5c9df40 Thibault Louet
                                                "Entity" => array($hookObj,"updateGroups"),
72
                                                "Manufacturer" => array($hookObj,"updateGroups"));
73 8b28e91d Romain CHOLLET
    $hooks['item_restore'][$p]          = array("Computer" => array($hookObj, "addComputer"),
74
                                                "NetworkEquipment" => array($hookObj, "addNetworkEquipment"),
75 a5c9df40 Thibault Louet
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
76
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
77
                                                "IPAddress" => array($hookObj,"manageAddresses"),
78
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
79
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
80
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
81
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
82
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
83
                                                "Software" => array($hookObj,"manageSoftwares"),
84
                                                "Location" => array($hookObj,"updateGroups"),
85 79397eb3 Romain CHOLLET
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
86 a5c9df40 Thibault Louet
                                                "Entity" => array($hookObj,"updateGroups"),
87
                                                "Manufacturer" => array($hookObj,"updateGroups"));
88 efcf5ecf Francois POIROTTE
    $hooks["menu_toadd"][$p]['plugins'] = 'PluginVigiloMenu';
89
    $hooks['config_page'][$p]           = 'front/menu.php?itemtype=vigilo';
90 0d761a49 Romain CHOLLET
    $hooks['autoinventory_information'][$p] = array(
91
            'Computer' =>  array('PluginVigiloComputer',
92
                                 'showComputerInfo'));
93
94 79397eb3 Romain CHOLLET
    if (!FieldExists('glpi_computers', 'vigilo_template'))
95 0d761a49 Romain CHOLLET
    {
96
       $query = "ALTER TABLE glpi_computers ADD vigilo_template VARCHAR(30)";
97
       $DB->queryOrDie($query, "Ajout d'une colonne vigilo_template dans la table glpi_computers");
98
    }
99
}
100
101
function getSearchOptions() {
102
    $computer = new Computer();
103
    $options  = $computer->getSearchOptions();
104
105
    $options['vigilo']             = 'Vigilo Template';
106
107
    $options['7007']['name']       = 'vigilo_template';
108
    $options['7007']['table']      = 'glpi_computers';
109
    $options['7007']['field']      = 'vigilo_template';
110
    $options['7007']['searchtype'] = 'equals';
111
    $options['7007']['datatype']   = 'dropdown';
112
113
    return $options;
114 efcf5ecf Francois POIROTTE
}
115
116 a5c9df40 Thibault Louet
function plugin_version_vigilo()
117
{
118
    return array('name'           => 'Vigilo monitoring',
119 efcf5ecf Francois POIROTTE
                'version'        => '0.1',
120
                'author'         => 'CSSI',
121
                'license'        => 'GPLv2+',
122
                'homepage'       => 'http://vigilo-nms.org',
123
                'minGlpiVersion' => '9.1');
124
}
125
126 a5c9df40 Thibault Louet
function plugin_vigilo_check_config($verbose = false)
127
{
128
    if (version_compare(GLPI_VERSION, '9.1', 'lt')) {
129 efcf5ecf Francois POIROTTE
        echo "This plugin requires GLPI >= 9.1";
130
        return false;
131
    }
132
    return true;
133
}
134
135 a5c9df40 Thibault Louet
function plugin_vigilo_check_prerequisites()
136
{
137 efcf5ecf Francois POIROTTE
    return true;
138
}
139
140 a5c9df40 Thibault Louet
function plugin_vigilo_install()
141
{
142 efcf5ecf Francois POIROTTE
    return true;
143
}
144
145 a5c9df40 Thibault Louet
function plugin_vigilo_uninstall()
146
{
147 efcf5ecf Francois POIROTTE
    return true;
148
}