function importPorts($a_inventory, $items_id) { $networkPort = new NetworkPort(); $pfNetworkPort = new PluginFusioninventoryNetworkPort(); $networkports_id = 0; foreach ($a_inventory['networkport'] as $a_port) { $a_ports_DB = current($networkPort->find("`itemtype`='Printer'\n AND `items_id`='" . $items_id . "'\n AND `instantiation_type`='NetworkPortEthernet'\n AND `logical_number` = '" . $a_port['logical_number'] . "'", '', 1)); if (!isset($a_ports_DB['id'])) { // Add port $a_port['instantiation_type'] = 'NetworkPortEthernet'; $a_port['items_id'] = $items_id; $a_port['itemtype'] = 'Printer'; $networkports_id = $networkPort->add($a_port); unset($a_port['id']); $a_pfnetworkport_DB = current($pfNetworkPort->find("`networkports_id`='" . $networkports_id . "'", '', 1)); $a_port['id'] = $a_pfnetworkport_DB['id']; $pfNetworkPort->update($a_port); } else { // Update port $networkports_id = $a_ports_DB['id']; $a_port['id'] = $a_ports_DB['id']; $networkPort->update($a_port); unset($a_port['id']); // Check if pfnetworkport exist. $a_pfnetworkport_DB = current($pfNetworkPort->find("`networkports_id`='" . $networkports_id . "'", '', 1)); $a_port['networkports_id'] = $networkports_id; if (isset($a_pfnetworkport_DB['id'])) { $a_port['id'] = $a_pfnetworkport_DB['id']; $pfNetworkPort->update($a_port); } else { $a_port['networkports_id'] = $networkports_id; $pfNetworkPort->add($a_port); } } } }
function importPorts($a_inventory, $items_id) { $pfNetworkporttype = new PluginFusioninventoryNetworkporttype(); $networkPort = new NetworkPort(); $pfNetworkPort = new PluginFusioninventoryNetworkPort(); $networkports_id = 0; foreach ($a_inventory['networkport'] as $a_port) { $ifType = $a_port['iftype']; if ($pfNetworkporttype->isImportType($ifType) || isset($a_inventory['aggregate'][$a_port['logical_number']]) || $ifType == '') { $a_ports_DB = current($networkPort->find("`itemtype`='NetworkEquipment'\n AND `items_id`='" . $items_id . "'\n AND `logical_number` = '" . $a_port['logical_number'] . "'", '', 1)); if (!isset($a_ports_DB['id'])) { // Add port if (isset($a_inventory['aggregate']) && isset($a_inventory['aggregate'][$a_port['logical_number']])) { $a_port['instantiation_type'] = 'NetworkPortAggregate'; } else { $a_port['instantiation_type'] = 'NetworkPortEthernet'; } $a_port['items_id'] = $items_id; $a_port['itemtype'] = 'NetworkEquipment'; $networkports_id = $networkPort->add($a_port); unset($a_port['id']); $a_pfnetworkport_DB = current($pfNetworkPort->find("`networkports_id`='" . $networkports_id . "'", '', 1)); $a_port['id'] = $a_pfnetworkport_DB['id']; $a_port['lastup'] = date('Y-m-d H:i:s'); $pfNetworkPort->update($a_port); } else { // Update port $networkports_id = $a_ports_DB['id']; $a_port['id'] = $a_ports_DB['id']; $networkPort->update($a_port); unset($a_port['id']); // Check if pfnetworkport exist. $a_pfnetworkport_DB = current($pfNetworkPort->find("`networkports_id`='" . $networkports_id . "'", '', 1)); $a_port['networkports_id'] = $networkports_id; if (isset($a_pfnetworkport_DB['id'])) { $a_port['id'] = $a_pfnetworkport_DB['id']; if ($a_port['ifstatus'] == 0 && $a_pfnetworkport_DB['ifstatus'] == 1) { $a_port['lastup'] = date('Y-m-d H:i:s'); } $pfNetworkPort->update($a_port); } else { $a_port['networkports_id'] = $networkports_id; $a_port['lastup'] = date('Y-m-d H:i:s'); $pfNetworkPort->add($a_port); } } // Connections if (isset($a_inventory['connection-lldp'][$a_port['logical_number']])) { $this->importConnectionLLDP($a_inventory['connection-lldp'][$a_port['logical_number']], $networkports_id); } else { if (isset($a_inventory['connection-mac'][$a_port['logical_number']])) { $this->importConnectionMac($a_inventory['connection-mac'][$a_port['logical_number']], $networkports_id); } } // Vlan if (isset($a_inventory['vlans'][$a_port['logical_number']])) { $this->importPortVlan($a_inventory['vlans'][$a_port['logical_number']], $networkports_id); } // Aggegation if (isset($a_inventory['aggregate']) && isset($a_inventory['aggregate'][$a_port['logical_number']])) { $this->importPortAggregate($a_inventory['aggregate'][$a_port['logical_number']], $networkports_id, $items_id); } } else { // Delete the port $a_ports_DB = current($networkPort->find("`itemtype`='NetworkEquipment'\n AND `items_id`='" . $items_id . "'\n AND `logical_number` = '" . $a_port['logical_number'] . "'", '', 1)); if (count($a_ports_DB) > 0) { $networkPort->delete($a_ports_DB); } } } }