Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

glpi / setup.php @ 0d761a49

History | View | Annotate | Download (8.96 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
    $hooks['autoinventory_information'][$p] = array(
89
            'Printer' =>  array('PluginVigiloPrinter',
90
                                 'showPrinterInfo'));
91

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

    
98
    if (!FieldExists('glpi_printers', 'vigilo_template')) 
99
    {
100
       $query = "ALTER TABLE glpi_printers ADD vigilo_template VARCHAR(30)";
101
       $DB->queryOrDie($query, "Ajout d'une colonne vigilo_template dans la table glpi_printers");
102
    }
103
}
104

    
105
function getSearchOptions() {
106
    $computer = new Computer();
107
    $options  = $computer->getSearchOptions();
108

    
109
    $options['vigilo']             = 'Vigilo Template';
110

    
111
    $options['7007']['name']       = 'vigilo_template';
112
    $options['7007']['table']      = 'glpi_computers';
113
    $options['7007']['field']      = 'vigilo_template';
114
    $options['7007']['searchtype'] = 'equals';
115
    $options['7007']['datatype']   = 'dropdown';
116

    
117
    return $options;
118
}
119

    
120
function plugin_version_vigilo()
121
{
122
    return array('name'           => 'Vigilo monitoring',
123
                'version'        => '0.1',
124
                'author'         => 'CSSI',
125
                'license'        => 'GPLv2+',
126
                'homepage'       => 'http://vigilo-nms.org',
127
                'minGlpiVersion' => '9.1');
128
}
129

    
130
function plugin_vigilo_check_config($verbose = false)
131
{
132
    if (version_compare(GLPI_VERSION, '9.1', 'lt')) {
133
        echo "This plugin requires GLPI >= 9.1";
134
        return false;
135
    }
136
    return true;
137
}
138

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

    
144
function plugin_vigilo_install()
145
{
146
    return true;
147
}
148

    
149
function plugin_vigilo_uninstall()
150
{
151
    return true;
152
}