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) . " :&nbsp;";
$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();
Пример #5
0
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;
}