Compare commits
2 commits
8f23d417a3
...
2028184f70
| Author | SHA1 | Date | |
|---|---|---|---|
| 2028184f70 | |||
| 75c1446e76 |
3 changed files with 79 additions and 1 deletions
15
ChangeLog.md
15
ChangeLog.md
|
|
@ -1,5 +1,20 @@
|
|||
# Changelog NetDiag
|
||||
|
||||
## 1.1.6 — 2026-08-17
|
||||
|
||||
### PDF-Zweig für die DNS-Prüfung
|
||||
|
||||
`netdiagPdfDns()` — je befragtem Server eine eigene Zeile statt einer
|
||||
`|`-getrennten Kette. Bei zwei Servern ging die generische Darstellung noch,
|
||||
bei den vier bis fünf Einträgen eines Firmennetzes wäre die eigentliche Aussage
|
||||
— welcher Server antwortet und welcher nicht — nicht mehr auffindbar gewesen.
|
||||
Damit hat jedes Werkzeug mit Listenergebnis einen eigenen Renderer: Dauertest,
|
||||
WLAN-Kanal, Geräte-Monitor, Internet-Kette, DNS-Prüfung.
|
||||
|
||||
Geprüft im vollständigen Durchstich: in der App gemessen (Emulator gegen die
|
||||
lokale Testinstanz), synchronisiert, PDF aus Protokoll ND2026-0016 erzeugt und
|
||||
angesehen.
|
||||
|
||||
## 1.1.5 — 2026-08-16
|
||||
|
||||
### Feldtabelle für das neue Werkzeug „DNS-Prüfung"
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class modNetDiag extends DolibarrModules
|
|||
$this->editor_url = '';
|
||||
$this->editor_squarred_logo = '';
|
||||
|
||||
$this->version = '1.1.5';
|
||||
$this->version = '1.1.6';
|
||||
|
||||
// Konstanten-Name in llx_const für Modul-Status
|
||||
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
|
||||
|
|
|
|||
|
|
@ -220,6 +220,8 @@ function netdiagGeneratePdf($db, $protocol, $outputlangs)
|
|||
netdiagPdfMonitor($pdf, $m->result);
|
||||
} elseif ($m->tool === 'internetkette') {
|
||||
netdiagPdfKette($pdf, $m->result);
|
||||
} elseif ($m->tool === 'dnscheck') {
|
||||
netdiagPdfDns($pdf, $m->result);
|
||||
} else {
|
||||
$pdf->MultiCell(180, 5, netdiagPdfFlattenResult($m->result), 1, 'L');
|
||||
}
|
||||
|
|
@ -435,6 +437,67 @@ function netdiagPdfStressTest($pdf, $json)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* DNS-Prüfung ins PDF schreiben: je Server eine eigene Zeile.
|
||||
*
|
||||
* Dieselbe Begründung wie beim Monitor und bei der Internet-Kette: die
|
||||
* generische Darstellung schiebt alle Serverantworten zu einer `|`-Kette
|
||||
* zusammen. Bei zwei Servern geht das noch, bei den vier bis fünf Einträgen
|
||||
* eines Firmennetzes ist die eigentliche Aussage — welcher Server antwortet
|
||||
* und welcher nicht — nicht mehr auffindbar.
|
||||
*
|
||||
* @param TCPDF $pdf PDF-Objekt (Cursor steht direkt hinter der Titelzeile)
|
||||
* @param string $json result-JSON der Messung
|
||||
* @return void
|
||||
*/
|
||||
function netdiagPdfDns($pdf, $json)
|
||||
{
|
||||
$data = json_decode((string) $json, true);
|
||||
if (!is_array($data)) {
|
||||
$pdf->MultiCell(180, 5, netdiagPdfFlattenResult($json), 1, 'L');
|
||||
return;
|
||||
}
|
||||
|
||||
$sum = array();
|
||||
if (!empty($data['ziel'])) {
|
||||
$sum[] = 'Abgefragter Name: '.$data['ziel'];
|
||||
}
|
||||
if (!empty($data['gefragteServer']) && is_array($data['gefragteServer'])) {
|
||||
$sum[] = 'Befragte Server: '.count($data['gefragteServer']);
|
||||
}
|
||||
if (!empty($sum)) {
|
||||
$pdf->MultiCell(180, 5, netdiagPdfText(implode(' | ', $sum)), 1, 'L');
|
||||
}
|
||||
|
||||
$antworten = (isset($data['antworten']) && is_array($data['antworten'])) ? $data['antworten'] : array();
|
||||
if (!empty($antworten)) {
|
||||
netdiagPdfEnsureSpace($pdf, 10);
|
||||
$pdf->SetFont('', 'B', 8);
|
||||
$pdf->Cell(180, 5, 'Antworten der Server ('.count($antworten).')', 1, 1, 'L');
|
||||
$pdf->SetFont('', '', 8);
|
||||
foreach ($antworten as $line) {
|
||||
netdiagPdfEnsureSpace($pdf, 5, function ($p) {
|
||||
$p->SetFont('', 'B', 8);
|
||||
$p->Cell(180, 5, 'Antworten der Server — Fortsetzung', 1, 1, 'L');
|
||||
$p->SetFont('', '', 8);
|
||||
});
|
||||
// MultiCell, weil eine Fehlermeldung des Servers lang werden kann
|
||||
$pdf->MultiCell(180, 5, netdiagPdfText(netdiagKundentext((string) $line)), 1, 'L');
|
||||
}
|
||||
}
|
||||
|
||||
// Messverfahren und Hinweis zum Schluss — die Grenze der Aussage gehört
|
||||
// ins Kundendokument (gemessen wurde je ein Paket an je einen Server).
|
||||
foreach (array('hinweis', 'verfahren') as $feld) {
|
||||
if (!empty($data[$feld])) {
|
||||
netdiagPdfEnsureSpace($pdf, 8);
|
||||
$pdf->SetFont('', 'I', 7);
|
||||
$pdf->MultiCell(180, 4, netdiagPdfText(netdiagKundentext((string) $data[$feld])), 1, 'L');
|
||||
$pdf->SetFont('', '', 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Internet-Kette ins PDF schreiben: Fehlerglied zuerst, dann die Stufen.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in a new issue