/** * @test */ public function NetworkPortAggregation() { global $DB; $DB->connect(); $networkPort = new NetworkPort(); $networkPortAggregate = new NetworkPortAggregate(); $a_networkports = $networkPort->find("`logical_number`='5005'"); $this->assertEquals(1, count($a_networkports), 'Number of networkport 5005 may be 1'); $a_networkport = current($a_networkports); $a_aggregate = current($networkPortAggregate->find("`networkports_id`='" . $a_networkport['id'] . "'", '', 1)); $a_ports = importArrayFromDB($a_aggregate['networkports_id_list']); $this->assertEquals(array('2', '4'), $a_ports, 'aggregate ports'); }
function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) { global $CFG_GLPI; // Can exists on template if (Session::haveRight('networking', 'r')) { if (in_array($item->getType(), $CFG_GLPI["networkport_types"])) { if ($_SESSION['glpishow_count_on_tabs']) { return self::createTabEntry(self::getTypeName(2), self::countForItem($item)); } return self::getTypeName(2); } } if ($item->getType() == 'NetworkPort') { $nbAlias = countElementsInTable('glpi_networkportaliases', "`networkports_id_alias` = '" . $item->getField('id') . "'"); if ($nbAlias > 0) { $aliases = self::createTabEntry(NetworkPortAlias::getTypeName(2), $nbAlias); } else { $aliases = ''; } $nbAggregates = countElementsInTable('glpi_networkportaggregates', "`networkports_id_list`\n LIKE '%\"" . $item->getField('id') . "\"%'"); if ($nbAggregates > 0) { $aggregates = self::createTabEntry(NetworkPortAggregate::getTypeName(2), $nbAggregates); } else { $aggregates = ''; } if (!empty($aggregates) && !empty($aliases)) { return $aliases . '/' . $aggregates; } return $aliases . $aggregates; } return ''; }
function importPortAggregate($a_ports, $networkports_id, $networkequipments_id) { $networkPort = new NetworkPort(); $networkPortAggregate = new NetworkPortAggregate(); $a_aggregates = $networkPortAggregate->find("`networkports_id`='" . $networkports_id . "'", "", 1); $input = array(); if (count($a_aggregates) == 1) { $input = current($a_aggregates); } else { $input['networkports_id'] = $networkports_id; $input['networkports_id_list'] = exportArrayToDB(array()); $input['id'] = $networkPortAggregate->add($input); } $a_ports_db_tmp = array(); foreach ($a_ports as $logical_number) { $a_networkports_DB = current($networkPort->find("`itemtype`='NetworkEquipment'\n AND `items_id`='" . $networkequipments_id . "'\n AND `instantiation_type`='NetworkPortEthernet'\n AND `logical_number` = '" . $logical_number . "'", '', 1)); if (!isset($a_networkports_DB['id'])) { // Add port $a_port['instantiation_type'] = 'NetworkPortEthernet'; $a_port['items_id'] = $networkequipments_id; $a_port['itemtype'] = 'NetworkEquipment'; $a_port['logical_number'] = $logical_number; $networkports_id = $networkPort->add($a_port); } else { $networkports_id = $a_networkports_DB['id']; } $a_ports_db_tmp[] = $networkports_id; } $input['networkports_id_list'] = $a_ports_db_tmp; $networkPortAggregate->update($input); }