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);
             }
         }
     }
 }