Upload via GUI (338 Dateien)

This commit is contained in:
2026-10-25 17:47:04 +00:00
parent 63561d259f
commit 7ca9dd3f12
4 changed files with 244 additions and 111 deletions
+6 -1
View File
@@ -108,7 +108,9 @@ try {
// 2) Einrichten über das Formular
[$s, $b] = $req('POST', $pluginUrl, ['csrf_token' => $csrf($page), 'do' => 'save', 'enabled' => '1', 'host' => '127.0.0.1', 'port' => (string) $davPort, 'https' => '', 'user' => 'nas', 'password' => $davPass,
'target' => '/dav/DeskHub-Backups/', 'mirror' => '1', 'db' => '1', 'files' => '1', 'scope' => 'important', 'interval' => 'daily', 'time' => '02:00', 'keep_days' => '0', 'keep' => '10', 'verify_tls' => '1'], $jar);
$check($s === 200 && str_contains($b, 'Einstellungen gespeichert'), 'Einstellungen speichern meldet Erfolg (HTTP ' . $s . ')');
$check($s === 200 && str_contains($b, 'location.replace') && !str_contains($b, 'Fatal error'), 'Nach dem Speichern ersetzt sich die Seite durch die normale Adresse (kein erneutes Absenden beim Neuladen, HTTP ' . $s . ')');
[, $b] = $req('GET', $pluginUrl, [], $jar);
$check(str_contains($b, 'Einstellungen gespeichert'), 'Einstellungen speichern meldet Erfolg');
$check(str_contains($b, 'NAS erreichbar'), 'Die Seite zeigt „NAS erreichbar“ nach dem Einrichten');
$check(!str_contains($b, 'Fatal error') && !str_contains($b, 'Warning:'), 'Die Seite erzeugt keine PHP-Fehler');
@@ -124,9 +126,12 @@ try {
$check(str_contains($bp, '☁ auf NAS') || (str_contains($bp, 'nur hier') && str_contains($bp, '☁ Auf NAS')), 'Die Backup-Liste zeigt bei dem Backup die NAS-Marke (schon kopiert oder „nur hier“ mit Knopf „Auf NAS“; der Plugin-Takt kann bereits gelaufen sein)');
[, $pp] = $req('GET', $pluginUrl, [], $jar);
[$s, $b] = $req('POST', $pluginUrl, ['csrf_token' => $csrf($pp), 'do' => 'sync'], $jar);
$check(str_contains($b, 'location.replace'), 'Auch nach „Fehlende kopieren“ lädt die Seite die normale Adresse: Neuladen (alle 10 s) oder F5 sendet den Klick nicht noch einmal ab');
$check($name !== '' && in_array($name, $remoteFiles(), true), 'Das Backup der Backup-Seite wird auf die NAS kopiert (Aktion „Fehlende kopieren“)');
[, $bp] = $req('GET', '/staff/backup.php', [], $jar);
$check(str_contains($bp, '☁ auf NAS'), 'Danach trägt es in der Backup-Liste die Marke „auf NAS“');
// Das Kopieren läuft seit Plugin 2.3 im Hintergrund (nach der Antwort): die Seite nach dem Klick neu laden
[, $b] = $req('GET', $pluginUrl, [], $jar);
$check(str_contains($b, '☁ auf der NAS') && str_contains($b, $name), 'Die Plugin-Seite zeigt es als „auf der NAS“');
// 4) Lokal löschen: bleibt als „nur auf der NAS“ sichtbar und lässt sich zurückholen