static function networkport_addLog($port_id, $value_new, $field) { $pfNetworkPort = new PluginFusioninventoryNetworkPort(); $pfNetworkPortLog = new PluginFusioninventoryNetworkPortLog(); $pfConfigLogField = new PluginFusioninventoryConfigLogField(); $pfMapping = new PluginFusioninventoryMapping(); $db_field = $field; switch ($field) { case 'ifname': $db_field = 'name'; $field = 'ifName'; break; case 'mac': $db_field = 'mac'; $field = 'macaddr'; break; case 'ifnumber': $db_field = 'logical_number'; $field = 'ifIndex'; break; case 'trunk': $field = 'vlanTrunkPortDynamicStatus'; break; case 'iftype': $field = 'ifType'; break; case 'duplex': $field = 'portDuplex'; break; } $pfNetworkPort->loadNetworkport($port_id); //echo $ptp->getValue($db_field); if ($pfNetworkPort->getValue($db_field) != $value_new) { $a_mapping = $pfMapping->get('NetworkEquipment', $field); $days = $pfConfigLogField->getValue($a_mapping['id']); if (isset($days) and $days != '-1') { $array = array(); $array["networkports_id"] = $port_id; $array["plugin_fusioninventory_mappings_id"] = $a_mapping['id']; $array["value_old"] = $pfNetworkPort->getValue($db_field); $array["value_new"] = $value_new; $pfNetworkPortLog->insert_connection("field", $array); } } }
$ports_id = $_GET["networkports_id"]; } echo "<form action='" . $_SERVER["PHP_SELF"] . "' method='get'>"; echo "<table class='tab_cadre' cellpadding='5'>"; echo "<tr class='tab_bg_1' align='center'>"; echo "<td>"; echo _n('Network port', 'Network ports', 1) . " : "; $query = "SELECT `glpi_networkequipments`.`name` as `name`, `glpi_networkports`.`name` as `pname`,\n `glpi_networkports`.`id` as `id`\n FROM `glpi_networkequipments`\n LEFT JOIN `glpi_networkports` ON `items_id` = `glpi_networkequipments`.`id`\n WHERE `itemtype`='NetworkEquipment'\n ORDER BY `glpi_networkequipments`.`name`, `glpi_networkports`.`logical_number`;"; $result = $DB->query($query); $selected = ''; while ($data = $DB->fetch_array($result)) { if (isset($FK_port) and $data['id'] == $FK_port) { $selected = $data['id']; } $ports[$data['id']] = $data['name'] . " - " . $data['pname']; } Dropdown::showFromArray("networkports_id", $ports, array('value' => $selected)); echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td align='center'>"; echo "<input type='submit' value='Valider' class='submit' />"; echo "</td>"; echo "</tr>"; echo "</table>"; Html::closeForm(); if (isset($_GET["networkports_id"])) { echo PluginFusioninventoryNetworkPortLog::showHistory($_GET["networkports_id"]); } Html::closeForm(); Html::footer();
echo "<td>"; echo __('Status'); echo "</td>"; echo "<td>"; Dropdown::show("State", array('name' => 'state', 'value' => $state)); echo "</td>"; echo "</tr>"; echo "<tr class='tab_bg_2'>"; echo "<td align='center' colspan='2'>"; echo "<input type='submit' value='Valider' class='submit' />"; echo "</td>"; echo "</tr>"; echo "</table>"; Html::closeForm(); if (isset($_GET["FK_networking_ports"])) { echo PluginFusioninventoryNetworkPortLog::showHistory($_GET["FK_networking_ports"]); } Html::closeForm(); $state_sql = ""; if ($state != "" and $state != "0") { $state_sql = " AND `states_id` = '" . $state . "' "; } $query = "SELECT * FROM (\nSELECT `glpi_networkequipments`.`name`, `last_fusioninventory_update`, `serial`, `otherserial`,\n `networkequipmentmodels_id`, `glpi_networkequipments`.`id` as `network_id`, 0 as `printer_id`,\n `plugin_fusioninventory_configsecurities_id`,\n `glpi_ipaddresses`.`name` as ip, `states_id`\n FROM `glpi_plugin_fusioninventory_networkequipments`\nJOIN `glpi_networkequipments` on `networkequipments_id` = `glpi_networkequipments`.`id`\nLEFT JOIN `glpi_networkports`\n ON (`glpi_networkequipments`.`id` = `glpi_networkports`.`items_id`\n AND `glpi_networkports`.`itemtype` = 'NetworkEquipment')\nLEFT JOIN `glpi_networknames`\n ON `glpi_networknames`.`items_id`=`glpi_networkports`.`id`\n AND `glpi_networknames`.`itemtype`='NetworkPort'\nLEFT JOIN `glpi_ipaddresses`\n ON `glpi_ipaddresses`.`items_id`=`glpi_networknames`.`id`\n AND `glpi_ipaddresses`.`itemtype`='NetworkName'\nWHERE ((NOW() > ADDDATE(last_fusioninventory_update, INTERVAL " . $nbdays . " DAY) OR last_fusioninventory_update IS NULL)\n " . $state_sql . ")\nUNION\nSELECT `glpi_printers`.`name`, `last_fusioninventory_update`, `serial`, `otherserial`,\n `printermodels_id`, 0 as `network_id`, `glpi_printers`.`id` as `printer_id`,\n `plugin_fusioninventory_configsecurities_id`,\n `glpi_ipaddresses`.`name` as ip, `states_id`\n FROM `glpi_plugin_fusioninventory_printers`\nJOIN `glpi_printers` on `printers_id` = `glpi_printers`.`id`\nLEFT JOIN `glpi_networkports`\n ON (`glpi_printers`.`id` = `glpi_networkports`.`items_id`\n AND `glpi_networkports`.`itemtype` = 'Printer')\nLEFT JOIN `glpi_networknames`\n ON `glpi_networknames`.`items_id`=`glpi_networkports`.`id`\n AND `glpi_networknames`.`itemtype`='NetworkPort'\nLEFT JOIN `glpi_ipaddresses`\n ON `glpi_ipaddresses`.`items_id`=`glpi_networknames`.`id`\n AND `glpi_ipaddresses`.`itemtype`='NetworkName'\nWHERE (NOW() > ADDDATE(last_fusioninventory_update, INTERVAL " . $nbdays . " DAY) OR last_fusioninventory_update IS NULL)\nAND `glpi_networkports`.`items_id`='Printer' " . $state_sql . ") as `table`\n\nORDER BY last_fusioninventory_update DESC"; echo "<table class='tab_cadre' cellpadding='5' width='950'>"; echo "<tr class='tab_bg_1'>"; echo "<th>" . __('Name') . "</th>"; echo "<th>" . __('Last inventory') . "</th>"; echo "<th>" . __('Item type') . "</th>"; echo "<th>" . __('IP') . "</th>"; echo "<th>" . __('Serial Number') . "</th>"; echo "<th>" . __('Inventory number') . "</th>";
} $_POST['id'] = 1; switch ($_POST['tabs']) { case 'config': break; case 'history': $pfConfigLogField = new PluginFusioninventoryConfigLogField(); foreach ($_POST as $key => $val) { $split = explode("-", $key); if (isset($split[1]) and is_numeric($split[1])) { $pfConfigLogField->getFromDB($split[1]); $input = array(); $input['id'] = $pfConfigLogField->fields['id']; $input['days'] = $val; $pfConfigLogField->update($input); } } break; } if (isset($pfConfig)) { $pfConfig->update($_POST); } Html::back(); } else { if (isset($_POST['Clean_history'])) { $pfNetworkPortLog = new PluginFusioninventoryNetworkPortLog(); $pfNetworkPortLog->cronCleannetworkportlogs(); Html::back(); } } Html::footer();
function plugin_item_add_fusioninventory($parm) { switch (get_class($parm)) { case 'NetworkPort_NetworkPort': $networkPort = new NetworkPort(); $networkPort->getFromDB($parm->fields['networkports_id_1']); if ($networkPort->fields['itemtype'] == 'NetworkEquipment') { PluginFusioninventoryNetworkPortLog::addLogConnection("make", $parm->fields['networkports_id_1']); } else { $networkPort->getFromDB($parm->fields['networkports_id_2']); if ($networkPort->fields['itemtype'] == 'NetworkEquipment') { PluginFusioninventoryNetworkPortLog::addLogConnection("make", $parm->fields['networkports_id_2']); } } break; case 'NetworkPort': if ($parm->fields['itemtype'] == 'NetworkEquipment') { $pfNetworkPort = new PluginFusioninventoryNetworkPort(); $pfNetworkPort->add(array('networkports_id' => $parm->fields['id'])); } break; } return $parm; }