. * --------------------------------------------------------------------- */ if (!defined('GLPI_ROOT')) { die("Sorry. You can't access this file directly"); } /// NetworkPortAlias class : alias instantiation of NetworkPort. An alias can be use to define VLAN /// tagged ports. It is use in old version of Linux to define several IP addresses to a given port. /// @since 0.84 class NetworkPortAlias extends NetworkPortInstantiation { static function getTypeName($nb = 0) { return __('Alias port'); } function prepareInput($input) { // Try to get mac address from the instantiation ... if (!isset($input['mac']) && isset($input['networkports_id_alias'])) { $networkPort = new NetworkPort(); if ($networkPort->getFromDB($input['networkports_id_alias'])) { $input['mac'] = $networkPort->getField('mac'); } } return $input; } function prepareInputForAdd($input) { return parent::prepareInputForAdd($this->prepareInput($input)); } function prepareInputForUpdate($input) { return parent::prepareInputForUpdate($this->prepareInput($input)); } function showInstantiationForm(NetworkPort $netport, $options, $recursiveItems) { echo ""; $this->showMacField($netport, $options); $this->showNetworkPortSelector($recursiveItems, $this->getType()); echo ""; } function getInstantiationHTMLTableHeaders(HTMLTableGroup $group, HTMLTableSuperHeader $super, HTMLTableSuperHeader $internet_super = null, HTMLTableHeader $father = null, array $options = []) { $group->addHeader('Origin', __('Origin port'), $super); parent::getInstantiationHTMLTableHeaders($group, $super, $internet_super, $father, $options); return null; } function getInstantiationHTMLTable(NetworkPort $netport, HTMLTableRow $row, HTMLTableCell $father = null, array $options = []) { $row->addCell($row->getHeaderByName('Instantiation', 'Origin'), $this->getInstantiationNetworkPortHTMLTable()); parent::getInstantiationHTMLTable($netport, $row, $father, $options); return null; } }