Upload via GUI (364 Dateien)

This commit is contained in:
2026-11-01 11:15:59 +00:00
parent c1a170563d
commit 4319ceec47
7 changed files with 331 additions and 2 deletions
+1 -1
View File
@@ -226,7 +226,7 @@ try {
$check($s === 403 && $abId === (int) site_db()->query("SELECT v.id FROM versions v JOIN items i ON i.id = v.item_id WHERE i.slug = 'abendrot'")->fetchColumn(), 'Löschen mit falschem CSRF-Token ändert nichts');
[$s, $body] = $http('POST', '/admin.php', ['jar' => $jar, 'data' => ['action' => 'delete', 'csrf' => $csrf, 'id' => $abId]]);
$check($s === 200 && str_contains($body, 'Version entfernt.'), 'Löschen meldet Erfolg: HTTP ' . $s . ' ' . substr(strip_tags($body), 0, 200));
$check((int) site_db()->query("SELECT COUNT(*) FROM items WHERE slug = 'abendrot'")->fetchColumn() === 0, 'der Eintrag ist nach dem Löschen aus der Datenbank entfernt');
$check(site_item('theme', 'abendrot') === null && !in_array('abendrot', array_column(site_catalog('theme')['themes'], 'slug'), true), 'der Eintrag ist ohne Version nicht mehr sichtbar (Katalog); Vorschaubild bleibt für spätere Versionen erhalten');
$deletedPackage = $tmp . '/storage/packages/' . $abFile; // die Datei selbst wird erst nach dem Beenden des Testservers geprüft (Windows hält sie bis dahin offen)
[$s, $body] = $http('GET', '/catalog.php?type=themes');
$check(!in_array('abendrot', array_column(json_decode($body, true)['themes'] ?? [], 'slug'), true) && in_array('nordlicht', array_column(json_decode($body, true)['themes'] ?? [], 'slug'), true), 'gelöschtes Theme ist aus dem Katalog, andere bleiben');