Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

glpi / src / setup.php @ e0c97dab

History | View | Annotate | Download (9.79 KB)

1
<?php
2

    
3
require(__DIR__ . DIRECTORY_SEPARATOR . "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, "addComputer"),
14
                                                "NetworkEquipment" => array($hookObj, "addNetworkEquipment"),
15
                                                "Printer" => array($hookObj, "addPrinter"),
16
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
17
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
18
                                                "IPAddress" => array($hookObj,"manageAddresses"),
19
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
20
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
21
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
22
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
23
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
24
                                                "Software" => array($hookObj,"manageSoftwares"),
25
                                                "Location" => array($hookObj,"updateGroups"),
26
                                                "Entity" => array($hookObj,"updateGroups"),
27
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
28
                                                "Manufacturer" => array($hookObj,"updateGroups"));
29
    $hooks['item_update'][$p]           = array("Computer" => array($hookObj, "updateComputer"),
30
                                                "NetworkEquipment" => array($hookObj, "updateNetworkEquipment"),
31
                                                "Printer" => array($hookObj, "updatePrinter"),
32
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
33
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
34
                                                "IPAddress" => array($hookObj,"manageAddresses"),
35
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
36
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
37
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
38
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
39
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
40
                                                "Software" => array($hookObj,"manageSoftwares"),
41
                                                "Location" => array($hookObj,"updateGroups"),
42
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
43
                                                "Entity" => array($hookObj,"updateGroups"),
44
                                                "Manufacturer" => array($hookObj,"updateGroups"));
45
    $hooks['item_purge'][$p]            = array("Computer" => array($hookObj, "delete"),
46
                                                "NetworkEquipment" => array($hookObj, "delete"),
47
                                                "Printer" => array($hookObj, "delete"),
48
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
49
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
50
                                                "IPAddress" => array($hookObj,"manageAddresses"),
51
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
52
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
53
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
54
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
55
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
56
                                                "Software" => array($hookObj,"manageSoftwares"),
57
                                                "Location" => array($hookObj,"updateGroups"),
58
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
59
                                                "Entity" => array($hookObj,"updateGroups"),
60
                                                "Manufacturer" => array($hookObj,"updateGroups"));
61
    $hooks['item_delete'][$p]           = array("Computer" => array($hookObj, "delete"),
62
                                                "NetworkEquipment" => array($hookObj, "delete"),
63
                                                "Printer" => array($hookObj, "delete"),
64
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
65
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
66
                                                "IPAddress" => array($hookObj,"manageAddresses"),
67
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
68
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
69
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
70
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
71
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
72
                                                "Software" => array($hookObj,"manageSoftwares"),
73
                                                "Location" => array($hookObj,"updateGroups"),
74
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
75
                                                "Entity" => array($hookObj,"updateGroups"),
76
                                                "Manufacturer" => array($hookObj,"updateGroups"));
77
    $hooks['item_restore'][$p]          = array("Computer" => array($hookObj, "addComputer"),
78
                                                "NetworkEquipment" => array($hookObj, "addNetworkEquipment"),
79
                                                "Printer" => array($hookObj, "addPrinter"),
80
                                                "ComputerDisk" => array($hookObj,"manageDisks"),
81
                                                "NetworkPort" => array($hookObj,"manageNetworks"),
82
                                                "IPAddress" => array($hookObj,"manageAddresses"),
83
                                                "DeviceProcessor" => array($hookObj,"manageNetworks"),
84
                                                "DeviceMemory" => array($hookObj,"manageNetworks"),
85
                                                "DeviceHardDrive" => array($hookObj,"manageNetworks"),
86
                                                "DeviceControl" => array($hookObj,"manageNetworks"),
87
                                                "DeviceSoundCard" => array($hookObj,"manageNetworks"),
88
                                                "Software" => array($hookObj,"manageSoftwares"),
89
                                                "Location" => array($hookObj,"updateGroups"),
90
                                                "Computer_SoftwareVersion" => array($hookObj, "manageComputerSoftwareVersion"),
91
                                                "Entity" => array($hookObj,"updateGroups"),
92
                                                "Manufacturer" => array($hookObj,"updateGroups"));
93
    $hooks["menu_toadd"][$p]['plugins'] = 'PluginVigiloMenu';
94
    $hooks['config_page'][$p]           = 'front/menu.php?itemtype=vigilo';
95
    $hooks['autoinventory_information'][$p] = array(
96
            'Computer' =>  array('PluginVigiloComputer',
97
                                 'showComputerInfo'));
98

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

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

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

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

    
118
    return $options;
119
}
120

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

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

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

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

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