";
if ($aggrega) {
echo " | ";
}
if (!$aggrega) {
if ($networkPort->fields['instantiation_type'] == 'NetworkPortAggregate') {
echo " | ";
} else {
echo " | ";
}
}
echo "".
$networkPort->fields["name"]."";
Html::showToolTip($pfNetworkPort->fields['ifdescr']);
if (!$aggrega) {
if ($networkPort->fields['instantiation_type'] == 'NetworkPortAggregate') {
echo " | ".__('Aggregation port')." | ";
}
}
if ($monitoring == '1') {
echo "";
$state = PluginMonitoringNetworkport::isMonitoredNetworkport($data['id']);
if (Session::haveRight("plugin_monitoring_componentscatalog", UPDATE)) {
Html::showCheckbox(['name' => 'networkports_id[]',
'value' => $data['id'],
'checked' => $state]);
} else if (Session::haveRight("plugin_monitoring_componentscatalog", READ)) {
echo Dropdown::getYesNo($state);
}
echo " | ";
}
$a_pref = DisplayPreference::getForTypeUser('PluginFusioninventoryNetworkport',
Session::getLoginUserID());
foreach ($a_pref as $data_array) {
switch ($data_array) {
case 3:
echo "".$pfNetworkPort->fields["ifmtu"]." | ";
break;
case 5:
echo "".$this->byteSize($pfNetworkPort->fields["ifspeed"], 1000)."bps | ";
break;
case 6:
echo "";
if (strstr($pfNetworkPort->fields["ifstatus"], "up")
|| strstr($pfNetworkPort->fields["ifinternalstatus"], "1")) {
echo " ";
} else if (strstr($pfNetworkPort->fields["ifstatus"], "down")
|| strstr($pfNetworkPort->fields["ifinternalstatus"], "2")) {
echo " ";
} else if (strstr($pfNetworkPort->fields["ifstatus"], "testing")
|| strstr($pfNetworkPort->fields["ifinternalstatus"], "3")) {
echo " ";
}
echo " | ";
break;
case 7:
echo "".$pfNetworkPort->fields["iflastchange"]." | ";
break;
case 8:
echo "";
if ($pfNetworkPort->fields["ifinoctets"] == "0") {
echo "-";
} else {
echo $this->byteSize($pfNetworkPort->fields["ifinoctets"], 1000)."o";
}
echo " / ";
if ($pfNetworkPort->fields["ifinoctets"] == "0") {
echo "-";
} else {
echo $this->byteSize($pfNetworkPort->fields["ifoutoctets"], 1000)."o";
}
echo " | ";
break;
case 9:
$color = '';
if ($pfNetworkPort->fields["ifinerrors"] != "0"
|| $pfNetworkPort->fields["ifouterrors"] != "0") {
$color = "background='#cf9b9b' class='tab_bg_1_2'";
}
if ($pfNetworkPort->fields["ifinerrors"] == "0") {
echo "-";
} else {
echo " | ";
echo $pfNetworkPort->fields["ifinerrors"];
}
echo " / ";
if ($pfNetworkPort->fields["ifouterrors"] == "0") {
echo "-";
} else {
echo $pfNetworkPort->fields["ifouterrors"];
}
echo " | ";
break;
case 10:
if ($pfNetworkPort->fields["portduplex"] == 2) {
echo "";
echo __('Half', 'fusioninventory');
echo ' | ';
} else if ($pfNetworkPort->fields["portduplex"] == 3) {
echo '';
echo __('Full', 'fusioninventory');
echo ' | ';
} else {
echo " | ";
}
break;
case 11:
// ** internal mac
echo "".$networkPort->fields["mac"]." | ";
break;
case 13:
// ** Mac address and link to device which are connected to this port
$opposite_port = $nw->getOppositeContact($data["id"]);
if ($opposite_port != ""
&& $opposite_port != 0) {
$networkPortOpposite = new NetworkPort();
if ($networkPortOpposite->getFromDB($opposite_port)) {
$data_device = $networkPortOpposite->fields;
$item = new $data_device["itemtype"];
$item->getFromDB($data_device["items_id"]);
$link1 = $item->getLink(1);
$link = str_replace($item->getName(0), $data_device["mac"],
$item->getLink());
$link2 = '';
// * GetIP
$a_networknames = current($networkName->find(
['itemtype' => 'NetworkPort',
'items_id' => $opposite_port],
[], 1));
if (isset($a_networknames['id'])) {
$a_ipaddresses = current($iPAddress->find(
['itemtype' => 'NetworkName',
'items_id' => $a_networknames['id']],
[], 1));
$link2 = str_replace($item->getName(0), $a_ipaddresses['name'],
$item->getLink());
}
if ($data_device["itemtype"] == 'PluginFusioninventoryUnmanaged') {
$icon = $this->getItemtypeIcon($item->fields["item_type"]);
if ($item->getField("accepted") == "1") {
echo "".$icon.$link1;
} else {
echo " | ".$icon.$link1;
}
if (!empty($link)) {
echo " ".$link;
}
if (!empty($link2)) {
echo " ".$link2;
}
if ($item->getField("hub") == "1") {
$this->displayHubConnections($data_device["items_id"], $background_img);
}
echo " | ";
} else {
$icon = $this->getItemtypeIcon($data_device["itemtype"]);
echo "".$icon.$link1;
if (!empty($link)) {
echo " ".$link;
}
if (!empty($link2)) {
echo " ".$link2;
}
if ($data_device["itemtype"] == 'Phone') {
$query_devicephone = "SELECT *
FROM `glpi_networkports`
WHERE `itemtype`='Phone'
AND `items_id`='".$data_device["items_id"]."'
AND `id`!='".$data_device["id"]."'
LIMIT 1";
$result_devicephone = $DB->query($query_devicephone);
if ($DB->numrows($result_devicephone) > 0) {
$data_devicephone = $DB->fetchAssoc($result_devicephone);
$computer_ports_id = $nw->getOppositeContact($data_devicephone["id"]);
if ($computer_ports_id) {
$networkport = new NetworkPort();
$networkport->getFromDB($computer_ports_id);
if ($networkport->fields['itemtype'] == 'Computer') {
echo " ";
echo " ";
$computer = new Computer();
$computer->getFromDB($networkport->fields["items_id"]);
$link1 = $computer->getLink(1);
$link = str_replace($computer->getName(0),
$networkport->fields["mac"],
$computer->getLink());
$link2 = str_replace($computer->getName(0),
$networkport->fields["ip"],
$computer->getLink());
echo $icon.$link1;
if (!empty($link)) {
echo " ".$link;
}
if (!empty($link2)) {
echo " ".$link2;
}
}
}
}
}
echo " | ";
}
} else {
echo " | ";
}
} else {
echo " | ";
}
break;
case 14:
// ** Connection status
echo "";
if (strstr($pfNetworkPort->fields["ifstatus"], "up")
|| strstr($pfNetworkPort->fields["ifstatus"], "1")) {
echo " ";
} else if (strstr($pfNetworkPort->fields["ifstatus"], "down")
|| strstr($pfNetworkPort->fields["ifstatus"], "2")) {
echo " ";
} else if (strstr($pfNetworkPort->fields["ifstatus"], "testing")
|| strstr($pfNetworkPort->fields["ifstatus"], "3")) {
echo " ";
} else if (strstr($pfNetworkPort->fields["ifstatus"], "dormant")
|| strstr($pfNetworkPort->fields["ifstatus"], "5")) {
echo " ";
}
echo " | ";
break;
case 12:
echo "";
$canedit = Session::haveRight('networking', UPDATE);
$used = [];
$query_vlan = "SELECT * FROM glpi_networkports_vlans
WHERE networkports_id='".$data["id"]."'";
$result_vlan = $DB->query($query_vlan);
if ($DB->numrows($result_vlan) > 0) {
echo "";
while ($line = $DB->fetchArray($result_vlan)) {
$used[] = $line["vlans_id"];
$vlan = new Vlan();
$vlan->getFromDB($line["vlans_id"]);
if ($line['tagged'] == '1') {
$state = 'T';
} else {
$state = 'U';
}
echo "" . $vlan->fields['name']." [".$vlan->fields['tag']."] " . $state;
echo " | ";
if ($canedit) {
echo "";
echo " ";
} else {
echo " ";
}
echo " | ";
echo " ";
}
echo " ";
} else {
echo " ";
}
echo " | ";
break;
case 15:
echo "";
if ($pfNetworkPort->fields['ifstatus'] == 1) {
echo __('Connected');
} else if ($pfNetworkPort->fields['lastup'] == "") {
echo '-';
} else {
$time = strtotime(date('Y-m-d H:i:s')) - strtotime($pfNetworkPort->fields['lastup']);
echo Html::timestampToString($time, false);
}
echo " | ";
break;
case 16:
echo "".$pfNetworkPort->fields["ifalias"]." | ";
break;
case 17:
echo "";
if ($networkPort->fields['instantiation_type'] == 'NetworkPortEthernet') {
$npes = $networkPortEthernet->find(['networkports_id' => $networkPort->fields['id']], [], 1);
foreach ($npes as $npe) {
echo Dropdown::getDropdownName("glpi_netpoints", $npe["netpoints_id"]);
}
}
echo " | ";
break;
}
}
echo "
";
}
/**
* Get the icon related to the itemtype
*
* @global array $CFG_GLPI
* @param string $itemtype
* @return string
*/
function getItemtypeIcon($itemtype) {
global $CFG_GLPI;
$icon = false;
switch ($itemtype) {
case 'Computer':
$icon = "computer_icon.png";
break;
case 'Phone':
$icon = "phone_icon.png";
break;
case 'NetworkEquipment':
$icon = "network_icon.png";
break;
}
if ($icon) {
return "