function showForm(Printer $item, $options = array())
 {
     // ** Get link OID fields
     $mapping_name = array();
     $id = $item->getID();
     $a_cartridges = $this->find("`printers_id`='" . $id . "'");
     echo "<div align='center'><form method='post' name='snmp_form' id='snmp_form'\n                 action=\"" . $options['target'] . "\">";
     echo "<table class='tab_cadre' cellpadding='5' width='950'>";
     echo "<tr class='tab_bg_1'>";
     echo "<th align='center' colspan='3'>";
     echo __('Cartridge(s)', 'fusioninventory');
     echo "</th>";
     echo "</tr>";
     asort($mapping_name);
     $mapping = new PluginFusioninventoryMapping();
     foreach ($a_cartridges as $a_cartridge) {
         echo "<tr class='tab_bg_1'>";
         echo "<td align='center'>";
         $mapping->getFromDB($a_cartridge['plugin_fusioninventory_mappings_id']);
         echo $mapping->getTranslation($mapping->fields);
         echo " : ";
         echo "</td>";
         echo "<td align='center'>";
         echo "</td>";
         echo "<td align='center'>";
         if ($a_cartridge['state'] == 100000) {
             echo __('OK');
         } else {
             if ($a_cartridge['state'] < 0) {
                 $a_cartridge['state'] = $a_cartridge['state'] * -1;
                 echo $a_cartridge['state'];
                 echo ' ' . __('remaining pages', 'fusioninventory');
             } else {
                 PluginFusioninventoryDisplay::bar($a_cartridge['state']);
             }
         }
         echo "</td>";
         echo "</tr>";
     }
     echo "</table>";
     Html::closeForm();
     echo "</div>";
 }
 function updateModel($xml, $message, $result)
 {
     global $DB;
     $pfMapping = new PluginFusioninventoryMapping();
     if ($message == '1') {
         $_SESSION["MESSAGE_AFTER_REDIRECT"] = __('Model already exists', 'fusioninventory');
     }
     // Update model oids
     // Get list of oids in DB
     $a_oidsDB = array();
     $models_data = $DB->fetch_assoc($result);
     $pfModelMib = new PluginFusioninventorySnmpmodelMib();
     $pfModel = new PluginFusioninventorySnmpmodel();
     $pfModel->getFromDB($models_data['id']);
     $input = array();
     $input['id'] = $pfModel->fields['id'];
     $input['comment'] = Toolbox::clean_cross_side_scripting_deep(Toolbox::addslashes_deep((string) $xml->comments));
     $pfModel->update($input);
     $a_devices = array();
     if (isset($xml->devices)) {
         foreach ($xml->devices->sysdescr as $child) {
             $a_devices[] = (string) $child;
         }
     }
     $pfSnmpmodeldevice = new PluginFusioninventorySnmpmodeldevice();
     $pfSnmpmodeldevice->updateDevicesForModel($pfModel->fields['id'], $a_devices);
     $a_oids = $pfModelMib->find("`plugin_fusioninventory_snmpmodels_id`='" . $models_data['id'] . "'");
     foreach ($a_oids as $data) {
         $oid = Dropdown::getDropdownName("glpi_plugin_fusioninventory_snmpmodelmiboids", $data['plugin_fusioninventory_snmpmodelmiboids_id']);
         $oid_name = '';
         if ($data['plugin_fusioninventory_mappings_id'] != 0) {
             $pfMapping->getFromDB($data['plugin_fusioninventory_mappings_id']);
             $oid_name = $pfMapping->fields["name"];
         }
         $a_oidsDB[$oid . "-" . $oid_name] = $data['id'];
     }
     $mapping_type = '';
     foreach ($xml->oidlist->oidobject as $child) {
         $input = array();
         if (isset($a_oidsDB[$child->oid . "-" . $child->mapping_name])) {
             // Update oid
             $pfModelMib->getFromDB($a_oidsDB[$child->oid . "-" . $child->mapping_name]);
             $input = $pfModelMib->fields;
         }
         $input["plugin_fusioninventory_snmpmodels_id"] = $models_data['id'];
         $input['plugin_fusioninventory_snmpmodelmibobjects_id'] = 0;
         if (isset($child->object)) {
             $input['plugin_fusioninventory_snmpmodelmibobjects_id'] = Dropdown::importExternal("PluginFusioninventorySnmpmodelMibObject", $child->object);
         }
         $input['plugin_fusioninventory_snmpmodelmiboids_id'] = Dropdown::importExternal("PluginFusioninventorySnmpmodelMibOid", $child->oid);
         $input['oid_port_counter'] = 0;
         if (isset($child->portcounter)) {
             $input['oid_port_counter'] = $child->portcounter;
         }
         $input['oid_port_dyn'] = 0;
         if (isset($child->dynamicport)) {
             $input['oid_port_dyn'] = $child->dynamicport;
         }
         $input["vlan"] = 0;
         if (isset($child->vlan)) {
             $input["vlan"] = $child->vlan;
         }
         $input["is_active"] = 0;
         if (isset($child->activation)) {
             $input["is_active"] = $child->activation;
         }
         if (isset($mapping_type)) {
             unset($mapping_type);
         }
         if (isset($child->mapping_type)) {
             $mapping_type = '';
             if (is_numeric($child->mapping_type)) {
                 switch ($child->mapping_type) {
                     case '1':
                         $mapping_type = "Computer";
                         break;
                     case '2':
                         $mapping_type = "NetworkEquipment";
                         break;
                     case '3':
                         $mapping_type = "Printer";
                         break;
                 }
             } else {
                 $mapping_type = $child->mapping_type;
             }
         }
         $input["plugin_fusioninventory_mappings_id"] = 0;
         if (isset($child->mapping_name)) {
             if ($child->mapping_name != '') {
                 $a_mappings = $pfMapping->get($mapping_type, $child->mapping_name);
                 $input["plugin_fusioninventory_mappings_id"] = $a_mappings['id'];
             }
         }
         $input["plugin_fusioninventory_mappings_id"] = 0;
         if (isset($child->mapping_name)) {
             if ($child->mapping_name != '') {
                 $a_mappings = $pfMapping->get($mapping_type, $child->mapping_name);
                 $input["plugin_fusioninventory_mappings_id"] = $a_mappings['id'];
             }
         }
         $input["plugin_fusioninventory_snmpmodelmiblabels"] = 0;
         if (isset($a_oidsDB[$child->oid . "-" . $child->mapping_name])) {
             // Update oid
             $pfModelMib->update($input);
             unset($a_oidsDB[$child->oid . "-" . $child->mapping_name]);
         } else {
             // Add
             $pfModelMib->add($input);
         }
     }
     // Delete OID not in the XML
     foreach ($a_oidsDB as $mibs_id) {
         $pfModelMib->delete(array('id' => $mibs_id), 1);
     }
 }