/** * Import PORT Printer *@param $p_port PORT code to import * *@return errors string to be alimented if import ko / '' if ok **/ function importPortPrinter($p_port) { global $LANG; $errors = ''; $ptp = new PluginFusioninventoryPort(PRINTER_TYPE); $ifType = $p_port->IFTYPE; if ($ptp->isReal($ifType)) { // not virtual port $portIndex = $this->ptd->getPortIndex($p_port->MAC, $p_port->IP); if (is_int($portIndex)) { $oldPort = $this->ptd->getPort($portIndex); $ptp->load($oldPort->getValue('ID')); } else { $ptp->addDB($this->deviceId, TRUE); } foreach ($p_port->children() as $name => $child) { switch ($name) { case 'IFNAME': PluginFusioninventorySnmphistory::networking_ports_addLog($ptp->getValue('ID'), $child, strtolower($name)); $ptp->setValue('name', $child); break; case 'MAC': PluginFusioninventorySnmphistory::networking_ports_addLog($ptp->getValue('ID'), $child, strtolower($name)); $ptp->setValue('ifmac', $child); break; case 'IP': PluginFusioninventorySnmphistory::networking_ports_addLog($ptp->getValue('ID'), $child, strtolower($name)); $ptp->setValue('ifaddr', $child); break; case 'IFNUMBER': PluginFusioninventorySnmphistory::networking_ports_addLog($ptp->getValue('ID'), $child, strtolower($name)); $ptp->setValue('logical_number', $child); break; case 'IFTYPE': // already managed break; default: $errors .= $LANG['plugin_fusioninventory']["errors"][22] . ' PORT : ' . $name . "\n"; } } $this->ptd->addPort($ptp, $portIndex); } return $errors; }