cleanup: sélection multiple + page dédiée (/admin/cleanup.php)

- cleanup-tmp.php: accepte les arrays filepond_dirs[] et trash_files[] pour suppression en lot
- cleanup-stats-fragment.php: ajout checkboxes + barre d'actions groupées + formulaire bulk HTMX
- admin-cleanup-bulk.js: module JS pour toggleAll, updateBulk, bulkDelete
- Nouvelle page /admin/cleanup.php remplace la modale (tmp-cleanup.php supprimé)
- Bouton Nettoyer dans index.php devient un lien vers la page dédiée
This commit is contained in:
Pontoporeia
2026-07-03 17:06:23 +02:00
parent a5f658ce0c
commit a1f32acaa1
9 changed files with 183 additions and 55 deletions
@@ -1,34 +0,0 @@
<dialog id="tmp-cleanup-dialog" class="admin-dialog admin-dialog--sheet" aria-labelledby="tmp-cleanup-title">
<div class="admin-dialog__header">
<h3 id="tmp-cleanup-title">Nettoyer les fichiers temporaires</h3>
<button type="button" class="admin-dialog__close" aria-label="Fermer"
onclick="document.getElementById('tmp-cleanup-dialog').close()">&#x2715;</button>
</div>
<div class="admin-dialog__body">
<div id="tmp-cleanup-result" style="display:none;margin-bottom:var(--space-sm)"></div>
<div class="n-grid" id="cleanup-grid-parent">
<!-- ═══════ FilePond / Trash ═══════ -->
<div id="tmp-cleanup-stats-wrapper"
hx-get="/admin/actions/cleanup-stats-fragment.php"
hx-trigger="loadStats"
hx-swap="outerHTML"
hx-indicator="#tmp-cleanup-stats-wrapper">
<details class="n-section" open>
<summary>
<?= icon('paint-brush-household') ?>
Fichiers temporaires
</summary>
<p style="margin:0;color:var(--text-secondary)">Chargement…</p>
</details>
</div>
<!-- ═══════ PeerTube ═══════ -->
<div id="peertube-orphans-fragment" style="display:contents"
hx-get="/admin/actions/peertube-orphans-fragment.php"
hx-trigger="loadPeertube"
hx-swap="outerHTML"
hx-indicator="#peertube-orphans-fragment">
<p style="margin:0;color:var(--text-secondary)">Chargement…</p>
</div>
</div>
</div>
</dialog>