} # Parse file $outFile = $Tools->parse_import_file($filetype, $subnet, $custom_address_fields); # Fetch all devices $devices = $Tools->fetch_all_objects("devices", "hostname"); # cnt $edit = 0; $add = 0; $invalid_lines = array(); $errors = 0; # import each value foreach ($outFile as $k => $line) { // if not error if ($line['class'] != "danger" || $line['class'] == "danger" && @$_POST['ignoreError'] == "1") { // reformat IP state from name to id $line[1] = $Addresses->address_type_type_to_index($line[1]); // reformat device from name to id if (strlen($line[7]) > 0) { if ($devices !== false) { foreach ($devices as $d) { if ($d->hostname == $line[7]) { $line[7] = $d->id; } } } else { $line[7] = 0; } } else { $line[7] = 0; } // set action
# cnt $edit = 0; $add = 0; $errors = 0; # import each value foreach ($outFile as $k => $line) { // explode it to array for verifications $lineArr = explode(",", $line); // array size must be at least 9 if (sizeof($lineArr) < 9) { $errors[] = "Line {$k} is invalid"; unset($outFile[$k]); //wrong line, unset! } else { // reformat IP state $lineArr[1] = $Addresses->address_type_type_to_index($lineArr[1]); // reformat device from name to id foreach ($devices as $d) { if ($d->hostname == $lineArr[6]) { $lineArr[6] = $d->id; } } // set action if ($id = $Addresses->address_exists($lineArr[0], $_POST['subnetId'], false)) { $action = "edit"; } else { $action = "add"; } // set insert / update values $address_insert = array("action" => $action, "subnetId" => $_POST['subnetId'], "ip_addr" => $lineArr[0], "state" => $Addresses->address_type_type_to_index($lineArr[1]), "description" => $lineArr[2], "dns_name" => $lineArr[3], "mac" => $lineArr[4], "owner" => $lineArr[5], "switch" => $lineArr[6], "port" => $lineArr[7], "note" => $lineArr[8]); // add id
} } else { $Result->show('danger', _("Invalid file type"), true); } # import each value foreach ($outFile as $k => $line) { // explode it to array for verifications $lineArr = explode(",", $line); // array size must be at least 9 if (sizeof($lineArr) < 9) { $errors[] = "Line {$k} is invalid"; unset($outFile[$k]); //wrong line, unset! } else { // reformat IP state $lineArr[1] = $Addresses->address_type_type_to_index($lineArr[1]); // reformat device from name to id $devices = $Tools->fetch_devices(); foreach ($devices as $d) { if ($d->hostname == $lineArr[6]) { $lineArr[6] = $d->id; } } // insert $ret = $Addresses->import_address_from_csv($lineArr, $_POST['subnetId']); if (!is_bool($ret) && strlen($ret) > 0) { $errors[] = $ret; $failed = true; } elseif ($ret === false) { $failed = true; }