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