@link http://forge.fusioninventory.org/projects/fusioninventory-for-glpi/ @since 2010 ------------------------------------------------------------------------ */ include "../../../inc/includes.php"; header("Content-Type: text/html; charset=UTF-8"); Html::header_nocache(); if (!isset($_POST["id"])) { exit; } if (!isset($_POST["sort"])) { $_POST["sort"] = ""; } if (!isset($_POST["order"])) { $_POST["order"] = ""; } if (!isset($_POST["withtemplate"])) { $_POST["withtemplate"] = ""; } $pfInventoryComputerBlacklist = new PluginFusioninventoryInventoryComputerBlacklist(); $pfInventoryComputerCriteria = new PluginFusioninventoryInventoryComputerCriteria(); $fields = $pfInventoryComputerCriteria->find(""); foreach ($fields as $id => $data) { if ($id == $_POST['glpi_tab'] or $_POST['glpi_tab'] == "-1") { //$pfBlacklist->showArray($id); echo "<br/>"; $pfInventoryComputerBlacklist->addForm($id); } } Html::ajaxFooter();
/** * Remove fields in XML from agent who are blacklisted * * @param $p_xml value XML from agent * * @return value XML cleaned (without blacklisted fields) * **/ function cleanBlacklist($a_computerinventory) { $pfInventoryComputerCriteria = new PluginFusioninventoryInventoryComputerCriteria(); $fields = $pfInventoryComputerCriteria->find(""); foreach ($fields as $id => $data) { switch ($data['comment']) { case 'ssn': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['serial']) && strtolower($a_computerinventory['Computer']['serial']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['serial'] = ""; } if ((!isset($a_computerinventory['Computer']['serial']) || $a_computerinventory['Computer']['serial'] == "") && isset($a_computerinventory['Computer']['mserial'])) { $a_computerinventory['Computer']['serial'] = $a_computerinventory['Computer']['mserial']; foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if ($a_computerinventory['Computer']['serial'] == $blacklist_data['value']) { $a_computerinventory['Computer']['serial'] = ""; } } } if (isset($a_computerinventory['monitor'])) { foreach ($a_computerinventory['monitor'] as $num_m => $data_m) { if (isset($data_m['serial']) && strtolower($data_m['serial']) == strtolower($blacklist_data['value'])) { $a_computerinventory['monitor'][$num_m]['serial'] = ""; } } } } break; case 'uuid': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['uuid']) && strtolower($a_computerinventory['Computer']['uuid']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['uuid'] = ""; } } break; case 'macAddress': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['networkport'])) { foreach ($a_computerinventory['networkport'] as $key => $network) { if (isset($network['mac']) and strtolower($network['mac']) == strtolower($blacklist_data['value'])) { $a_computerinventory['networkport'][$key]['mac'] = ""; } } } } break; case 'winProdKey': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['os_license_number']) && strtolower($a_computerinventory['Computer']['os_license_number']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['os_license_number'] = ""; } } break; case 'smodel': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['computermodels_id']) && strtolower($a_computerinventory['Computer']['computermodels_id']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['computermodels_id'] = ""; } } if (isset($a_computerinventory['Computer'])) { if ($a_computerinventory['Computer']['computermodels_id'] == "") { if (isset($a_computerinventory['Computer']['mmodel'])) { $a_computerinventory['Computer']['computermodels_id'] = $a_computerinventory['Computer']['mmodel']; foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['computermodels_id']) && strtolower($a_computerinventory['Computer']['computermodels_id']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['computermodels_id'] = ""; break; } } } } } break; case 'storagesSerial': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); // foreach($a_blacklist as $blacklist_id=>$blacklist_data) { // if (isset($arrayinventory['CONTENT']['STORAGES'])) { // foreach($arrayinventory['CONTENT']['STORAGES'] as $key=>$storage) { // if ((isset($storage['SERIALNUMBER'])) // AND ($storage['SERIALNUMBER'] == $blacklist_data['value'])) { // $arrayinventory['CONTENT']['STORAGES'][$key]['SERIALNUMBER'] = ""; // } // } // } // } break; case 'drivesSerial': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); // foreach($a_blacklist as $blacklist_id=>$blacklist_data) { // if (isset($arrayinventory['CONTENT']['DRIVES'])) { // foreach($arrayinventory['CONTENT']['DRIVES'] as $key=>$drive) { // if ((isset($drive['SERIAL'])) // AND ($drive['SERIAL'] == $blacklist_data['value'])) { // $arrayinventory['CONTENT']['DRIVES'][$key]['SERIAL'] = ""; // } // } // } // } break; case 'assetTag': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); // foreach($a_blacklist as $blacklist_id=>$blacklist_data) { // if ((isset($arrayinventory['CONTENT']['BIOS']['ASSETTAG'])) // AND ($arrayinventory['CONTENT']['BIOS']['ASSETTAG'] == // $blacklist_data['value'])) { // $arrayinventory['CONTENT']['BIOS']['ASSETTAG'] = ""; // } // } break; case 'manufacturer': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['manufacturers_id']) && strtolower($a_computerinventory['Computer']['manufacturers_id']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['manufacturers_id'] = ""; break; } } if (isset($a_computerinventory['Computer'])) { if ($a_computerinventory['Computer']['manufacturers_id'] == "") { if (isset($a_computerinventory['Computer']['mmanufacturer'])) { $a_computerinventory['Computer']['manufacturers_id'] = $a_computerinventory['Computer']['mmanufacturer']; foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['manufacturers_id']) && strtolower($a_computerinventory['Computer']['manufacturers_id']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['manufacturers_id'] = ""; break; } } } } if ($a_computerinventory['Computer']['manufacturers_id'] == "") { if (isset($a_computerinventory['Computer']['bmanufacturer'])) { $a_computerinventory['Computer']['manufacturers_id'] = $a_computerinventory['Computer']['bmanufacturer']; foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['Computer']['manufacturers_id']) && strtolower($a_computerinventory['Computer']['manufacturers_id']) == strtolower($blacklist_data['value'])) { $a_computerinventory['Computer']['manufacturers_id'] = ""; break; } } } } } break; case 'IP': $a_blacklist = $this->find("`plugin_fusioninventory_criterium_id`='" . $id . "'"); foreach ($a_blacklist as $blacklist_id => $blacklist_data) { if (isset($a_computerinventory['networkport'])) { foreach ($a_computerinventory['networkport'] as $key => $netport_data) { foreach ($netport_data['ipaddress'] as $num_ip => $ip) { if ($ip == $blacklist_data['value']) { unset($a_computerinventory['networkport'][$key]['ipaddress'][$num_ip]); } } } } } break; } } // Blacklist mac of "miniport*" for windows because have same mac as principal network ports if (isset($a_computerinventory['networkport'])) { foreach ($a_computerinventory['networkport'] as $key => $network) { if (isset($network['name']) and strtolower($network['name']) == "miniport d'ordonnancement de paquets") { $a_computerinventory['networkport'][$key]['mac'] = ""; } } } return $a_computerinventory; }