mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
Replace HTMX+PHP file upload queues with client-side JS
Drops the session-backed HTMX incremental upload system in favour of a single JS module that manages `File` objects client-side and injects them into `FormData` on submit. Key changes: * `file-upload-queue.js`: client-side queues with validation, reorder (SortableJS), removal, dirty-state tracking, and fetch-based submit with manual redirect handling * `fichiers-fragment.php`: empty queue containers for JS-managed queues; HTMX format switching still works with queue rehydration after swap; annexe uploads now support multiple files * Form UI cleanup: moved existing files and cover preview into the `Fichiers` fieldset (edit mode); removed redundant queue labels while keeping labels for single-file inputs (`couverture`, `note d'intention`); added delete buttons for existing files * `ThesisFileHandler.php`: added `handleTfeQueueFiles()`/`handleAnnexeQueueFiles()` reading from `$_FILES['queue_file']`; introduced `extractFilesSubArray()` for nested upload arrays; removed session-based queue handling * `ThesisCreateController.php` & `ThesisEditController.php`: switched to extracted `['queue_file']` uploads * `beforeunload-guard.js`: now also watches `window.__xamxamDirty` * Deleted obsolete PHP upload/remove/reorder queue endpoints for `partage` and `admin` * Cleaned up route dispatch in `partage/index.php` * Misc form and styling updates in templates/CSS * Added `docs/cms-migration-plan.html`
This commit is contained in:
6
TODO.md
6
TODO.md
@@ -1,7 +1,3 @@
|
||||
# TODO
|
||||
|
||||
- [x] Fix cross-field validation contamination — wrap file-field.php in <form> to scope hx-include
|
||||
- [x] Add inline MIME/size validation to upload-tfe-file.php
|
||||
- [x] Add inline validation wrappers to PeerTube video/audio and direct video/audio inputs
|
||||
- [x] Fix validator fallback: if field_name key missing in $_FILES, try first available file
|
||||
- [x] Fix file-field.php admin_mode using $adminMode variable instead of undefined ADMIN_MODE constant
|
||||
- [x] Replace HTMX+PHP file upload queues with client-side JS
|
||||
|
||||
Reference in New Issue
Block a user