@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;
 }