/** * Display a connection of a networking port * * @param $netport to be displayed * @param $edit boolean permit to edit ? (false by default) **/ static function showConnection($netport, $edit = false) { $ID = $netport->fields["id"]; if (empty($ID)) { return false; } $device1 = $netport->getItem(); if (!$device1->can($device1->getID(), READ)) { return false; } $canedit = $device1->canEdit($device1->fields["id"]); $relations_id = 0; $oppositePort = NetworkPort_NetworkPort::getOpposite($netport, $relations_id); if ($oppositePort !== false) { $device2 = $oppositePort->getItem(); if ($device2->can($device2->fields["id"], READ)) { $networklink = $oppositePort->getLink(); $tooltip = Html::showToolTip($oppositePort->fields['comment'], array('display' => false)); $netlink = sprintf(__('%1$s %2$s'), "<span class='b'>" . $networklink . "</span>\n", $tooltip); //TRANS: %1$s and %2$s are links echo " " . sprintf(__('%1$s on %2$s'), $netlink, "<span class='b'>" . $device2->getLink() . "</span>"); if ($device1->fields["entities_id"] != $device2->fields["entities_id"]) { echo "<br>(" . Dropdown::getDropdownName("glpi_entities", $device2->getEntityID()) . ")"; } // write rights on dev1 + READ on dev2 OR READ on dev1 + write rights on dev2 if ($canedit || $device2->canEdit($device2->fields["id"])) { echo " "; Html::showSimpleForm($oppositePort->getFormURL(), 'disconnect', _x('button', 'Disconnect'), array('id' => $relations_id)); } } else { if (rtrim($oppositePort->fields["name"]) != "") { $netname = $oppositePort->fields["name"]; } else { $netname = __('Without name'); } printf(__('%1$s on %2$s'), "<span class='b'>" . $netname . "</span>", "<span class='b'>" . $device2->getName() . "</span>"); echo "<br>(" . Dropdown::getDropdownName("glpi_entities", $device2->getEntityID()) . ")"; } } else { echo "<div id='not_connected_display{$ID}'>" . __('Not connected.') . "</div>"; if ($canedit) { if (!$device1->isTemplate()) { if ($edit) { self::dropdownConnect($ID, array('name' => 'NetworkPortConnect_networkports_id_2', 'entity' => $device1->fields["entities_id"], 'entity_sons' => $device1->isRecursive())); } else { echo "<a href=\"" . $netport->getFormURL() . "?id={$ID}\">" . _x('button', 'Connect') . "</a>"; } } else { echo " "; } } } }