Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

glpi / setup.php @ 79397eb3

History | View | Annotate | Download (8.79 KB)

1
<?php
2

    
3
require __DIR__ . "/hook.php";
4

    
5
function plugin_init_vigilo()
6
{
7
    global $PLUGIN_HOOKS;
8
    global $DB;
9
    $hooks      =& $PLUGIN_HOOKS;
10
    $p          =  "vigilo";
11
    $hookObj    =  new VigiloHooks();
12
    $hooks['csrf_compliant'][$p]        = true;
13
    $hooks['item_add'][$p]              = array("Computer" => array($hookObj, "add"),
14
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
15
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
16
                                                "IPAddress" => array($hookObj,"manageAddresses"),
17
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
18
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
19
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
20
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
21
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
22
                                                "Software" => array($hookObj,"manageSoftwares"),
23
                                                "Location" => array($hookObj,"updateGroups"),
24
                                                "Entity" => array($hookObj,"updateGroups"),
25
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
26
                                                "Manufacturer" => array($hookObj,"updateGroups"));
27
    $hooks['item_update'][$p]           = array("Computer" => array($hookObj, "update"),
28
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
29
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
30
                                                "IPAddress" => array($hookObj,"manageAddresses"),
31
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
32
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
33
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
34
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
35
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
36
                                                "Software" => array($hookObj,"manageSoftwares"),
37
                                                "Location" => array($hookObj,"updateGroups"),
38
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
39
                                                "Entity" => array($hookObj,"updateGroups"),
40
                                                "Manufacturer" => array($hookObj,"updateGroups"));
41
    $hooks['item_purge'][$p]            = array("Computer" => array($hookObj, "delete"),
42
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
43
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
44
                                                "IPAddress" => array($hookObj,"manageAddresses"),
45
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
46
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
47
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
48
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
49
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
50
                                                "Software" => array($hookObj,"manageSoftwares"),
51
                                                "Location" => array($hookObj,"updateGroups"),
52
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
53
                                                "Entity" => array($hookObj,"updateGroups"),
54
                                                "Manufacturer" => array($hookObj,"updateGroups"));
55
    $hooks['item_delete'][$p]           = array("Computer" => array($hookObj, "delete"),
56
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
57
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
58
                                                "IPAddress" => array($hookObj,"manageAddresses"),
59
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
60
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
61
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
62
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
63
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
64
                                                "Software" => array($hookObj,"manageSoftwares"),
65
                                                "Location" => array($hookObj,"updateGroups"),
66
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
67
                                                "Entity" => array($hookObj,"updateGroups"),
68
                                                "Manufacturer" => array($hookObj,"updateGroups"));
69
    $hooks['item_restore'][$p]          = array("Computer" => array($hookObj, "add"),
70
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
71
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
72
                                                "IPAddress" => array($hookObj,"manageAddresses"),
73
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
74
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
75
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
76
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
77
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
78
                                                "Software" => array($hookObj,"manageSoftwares"),
79
                                                "Location" => array($hookObj,"updateGroups"),
80
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
81
                                                "Entity" => array($hookObj,"updateGroups"),
82
                                                "Manufacturer" => array($hookObj,"updateGroups"));
83
    $hooks["menu_toadd"][$p]['plugins'] = 'PluginVigiloMenu';
84
    $hooks['config_page'][$p]           = 'front/menu.php?itemtype=vigilo';
85
    $hooks['autoinventory_information'][$p] = array(
86
            'Computer' =>  array('PluginVigiloComputer',
87
                                 'showComputerInfo'));
88

    
89
    if (!FieldExists('glpi_computers', 'vigilo_template'))
90
    {
91
       $query = "ALTER TABLE glpi_computers ADD vigilo_template VARCHAR(30)";
92
       $DB->queryOrDie($query, "Ajout d'une colonne vigilo_template dans la table glpi_computers");
93
    }
94
}
95

    
96
function getSearchOptions() {
97
    $computer = new Computer();
98
    $options  = $computer->getSearchOptions();
99

    
100
    $options['vigilo']             = 'Vigilo Template';
101

    
102
    $options['7007']['name']       = 'vigilo_template';
103
    $options['7007']['table']      = 'glpi_computers';
104
    $options['7007']['field']      = 'vigilo_template';
105
    $options['7007']['searchtype'] = 'equals';
106
    $options['7007']['datatype']   = 'dropdown';
107

    
108
    return $options;
109
}
110

    
111
function plugin_version_vigilo()
112
{
113
    return array('name'           => 'Vigilo monitoring',
114
                'version'        => '0.1',
115
                'author'         => 'CSSI',
116
                'license'        => 'GPLv2+',
117
                'homepage'       => 'http://vigilo-nms.org',
118
                'minGlpiVersion' => '9.1');
119
}
120

    
121
function plugin_vigilo_check_config($verbose = false)
122
{
123
    if (version_compare(GLPI_VERSION, '9.1', 'lt')) {
124
        echo "This plugin requires GLPI >= 9.1";
125
        return false;
126
    }
127
    return true;
128
}
129

    
130
function plugin_vigilo_check_prerequisites()
131
{
132
    return true;
133
}
134

    
135
function plugin_vigilo_install()
136
{
137
    return true;
138
}
139

    
140
function plugin_vigilo_uninstall()
141
{
142
    return true;
143
}