Commit Graph

  • e06a317499 fix: req annexes, add HTMX inline file validation (MIME/size) Pontoporeia 2026-05-10 15:55:35 +02:00
  • a1a5d4609f fix: TFE and annexes files not saved, plus keyword validation and file preview CSS Pontoporeia 2026-05-10 15:14:25 +02:00
  • 38dc8de9d8 feat: obfuscate all email addresses and mailto links as HTML entities Pontoporeia 2026-05-10 14:51:37 +02:00
  • ab6e266807 fix: add help email, preserve file names on validation error, license fix Pontoporeia 2026-05-10 14:06:05 +02:00
  • 6224e3ede0 Fix language-search fragment Pontoporeia 2026-05-10 13:20:40 +02:00
  • a3ded16915 Add sidebar TOC, simplify Données Secondaires section Pontoporeia 2026-05-10 12:52:10 +02:00
  • 396cf19e9f Add Mots-clés and Langues management to contenus page Pontoporeia 2026-05-10 12:13:26 +02:00
  • 494675d78c Move Formulaire settings to contenus, remove delete-all TFE Pontoporeia 2026-05-10 11:39:25 +02:00
  • 048a14bc2e Add language-search component for Autre Langue input + active search in lists Pontoporeia 2026-05-10 10:59:52 +02:00
  • 96fa8ee266 CSV importer: boolean and ap variants/typos Pontoporeia 2026-05-10 03:33:27 +02:00
  • fa30aab368 Rename author_email→contact_interne, author_show_contact→contact_public across view/controllers/templates Pontoporeia 2026-05-10 03:02:53 +02:00
  • 8a4b2541fb Fix: email clearing in findOrCreateAuthor, htmlspecialchars(null) crash in old(), dead contact_interne field, access_type_id radio clearing Pontoporeia 2026-05-10 02:55:47 +02:00
  • 6cc0e407f3 Error tests, FK violations fix Pontoporeia 2026-05-09 21:36:42 +02:00
  • a80b2c08bf Admin mobile block: fix inline style beating media query Pontoporeia 2026-05-09 20:51:44 +02:00
  • 6614b04dbd Fix bulk form nesting, remove count bar, stopPropagation on actions Pontoporeia 2026-05-09 20:42:58 +02:00
  • b6908f7453 Rename Liens étudiant·e, add link name + edit dialog Pontoporeia 2026-05-09 20:39:41 +02:00
  • 7711557d08 refactor: Admin index — replace emoji buttons with Phosphor SVG icons, add back buttons + row click navigation, minimal JS, move export DB to Exporter modal, color stats, bulk bar anti-shift, credits reorder, tags icons Pontoporeia 2026-05-09 19:11:42 +02:00
  • dc3191f458 add explanation hint to is_published checkbox in Backoffice fieldset Pontoporeia 2026-05-09 18:58:04 +02:00
  • bcf683c5c1 Merge Publication fieldset's is_published checkbox into Backoffice fieldset Pontoporeia 2026-05-09 18:54:14 +02:00
  • c4a23d5c2d Remove duration_pages/duration_minutes/file_size_info; rename cc4r → cc2r in DB and code Pontoporeia 2026-05-09 18:39:38 +02:00
  • cc0ae32df0 fix: resolve partage form submission issues Pontoporeia 2026-05-09 16:58:39 +02:00
  • 59bbcf4642 css: moved + tweaked styles to common.css Pontoporeia 2026-05-09 16:15:13 +02:00
  • 013317c97f link creation: fieldset with checkboxes for objet restriction, TFE checked by default Pontoporeia 2026-05-09 16:11:11 +02:00
  • 21c2b55bfb style: normalize headers, overtype editor rounded corners, remove duplicate cover preview, thesis-add-header grid layout, subtitle below header with top gradient Pontoporeia 2026-05-08 19:24:24 +02:00
  • 7ccadbb224 refactor public search bar - one big input with positioned magnifying glass icon - fix search input left padding to prevent placeholder overlapping magnifying glass - add !important to search input styles to override base form element rules - reduce search input vertical padding - bump search input vertical padding to space-2xs Pontoporeia 2026-05-08 19:18:29 +02:00
  • 862ed02136 style: unify form element styles in common.css, redesign focus rings, refactor public search bar, tweak admin section Pontoporeia 2026-05-08 17:57:39 +02:00
  • 77fd282e29 refactor: unify edit mode Format+Fichiers with add/partage HTMX fragment Pontoporeia 2026-05-08 17:31:17 +02:00
  • 8f4f9d00b4 Refactor: Form improvements and cleanup: note contextuel, annexes, fichiers Pontoporeia 2026-05-08 17:03:42 +02:00
  • 03c5fd217e feat: dual upload system — direct file storage + PeerTube API integration Pontoporeia 2026-05-08 16:48:34 +02:00
  • 11e61226e2 fix: justfile shebang recipes indentation (spaces → tabs) Pontoporeia 2026-05-08 16:35:00 +02:00
  • e6829994b6 Refactor + feat: unify format/fichiers HTMX fragment, reorder format types, add file constraints, fix admin auth Pontoporeia 2026-05-08 13:03:18 +02:00
  • 7e35bba530 Encrypt SMTP password at rest with AES-256-GCM Pontoporeia 2026-05-08 12:48:27 +02:00
  • 95fcbc919a Remove required from all admin add/edit form inputs Pontoporeia 2026-05-08 12:40:06 +02:00
  • 5735ccbc38 Fix issues with nginx access to pages Pontoporeia 2026-05-08 11:30:02 +02:00
  • 6ba13e00ea test: add ShareLinkTest + PureLogicTest (TDD), fix coverMap undefined in SearchController Pontoporeia 2026-05-08 10:56:27 +02:00
  • 15d54fa19e add Néerlandais language option and make language_autre conditionally required Pontoporeia 2026-05-08 10:55:08 +02:00
  • f3d9615562 merge banners into covers: remove banner field, migrate files, add covers to search/home/repertoire cards Pontoporeia 2026-05-08 10:46:02 +02:00
  • e3896811c4 Fix migrations and deploy issues + errors + linting - scan both pending/ and applied/ dirs so remote catch-up works - fix remote 500s: run.php handles per-statement errors so VIEW rebuilds run after duplicate columns; replace mb_strimwidth with substr (no mbstring extension on server) - add missing migration: 015_license_custom.sql (column existed in schema.sql but was never migrated) - remote: fgetcsv enclosure single-char + AdminLogger permission-denied guard + deploy always migrates - fix admin-filters wrapping: restore flex-wrap, flex-basis on inputs/selects, shrink-protect buttons - fix phpstan: remove redundant ?? [] after isset guard in ThesisEditController - biome: exclude vendored min.js via includes patterns; lint whole js dir; modernise beforeunload-guard.js Pontoporeia 2026-05-07 23:45:09 +02:00
  • bdd95341b0 Extract shared TFE form partial — single source of truth for add/edit/partage Pontoporeia 2026-05-07 22:48:18 +02:00
  • ac0008df6c Add website-type TFE support: URLs stored as thesis_files rows, HTMX-toggle on Site web format Pontoporeia 2026-05-07 21:24:46 +02:00
  • 9dc7ea98f2 fix: password-protected share links never load form after password entry Pontoporeia 2026-05-07 20:58:15 +02:00
  • 03121d6b7e form: add spacing between elements inside fieldsets Pontoporeia 2026-05-07 20:52:04 +02:00
  • d9dd4bdbc7 Edit Email confirmation styling Pontoporeia 2026-05-07 20:42:51 +02:00
  • 696259afae Fix form field required states & missing fields per spec Pontoporeia 2026-05-07 19:54:52 +02:00
  • 51f9f56e09 Replace span with a link + href in about.php for credits Pontoporeia 2026-05-07 19:40:32 +02:00
  • e0c748d8e7 Refactor about.php Pontoporeia 2026-05-07 18:44:30 +02:00
  • 24d68dda59 refactor form structure per new spec + fix - split jury into interne/externe/ULB, - remove president from student form, - add language_autre, - split duration into pages+minutes+annexes, - move licence to degrés d'ouverture with CC2r, - add license_custom, - filter PACS from student AP list, - editable généralités help block, - Libre toggle per settings Pontoporeia 2026-05-07 17:52:46 +02:00
  • dce0e0b301 schema: validate against new TFE field spec - add exemplaire_baiu, exemplaire_erg, cc4r, remarks; - add is_ulb to jury; - split jury_lecteurs into interne/externe in view; - refactor admin edit form with backoffice fields; - update public fiche to show promoteur ULB and split lecteurs Pontoporeia 2026-05-07 17:30:34 +02:00
  • 7793b6f86d add file export system for admins Pontoporeia 2026-05-07 16:28:17 +02:00
  • 821369f004 exclude maintenance.flag from rsync deploy and git Pontoporeia 2026-05-07 12:27:33 +02:00
  • 3f87d71e38 Fix: CSV importer and imported data - pad rows, distinguish empty year, better error diagnostics - derive year from identifier when year column is empty - fix remaining 18 theses: Installation/Performance (slash→dash) orientation alias - csv importer: use column-name-based header detection instead of hardcoded positions Pontoporeia 2026-05-05 18:54:54 +02:00
  • b063312642 centralise repertoire filter column rendering - shared repFilterEntry() and config array - shared repFilterEntry() and $filterColumns config array - fix single-valued FK fading via full intersection Pontoporeia 2026-05-05 18:27:47 +02:00
  • bca707ee96 standardise buttons: .btn base class (border-radius 10px, padding var(--space-xs)) Pontoporeia 2026-05-05 11:34:13 +02:00
  • b58445f71c sticky save/cancel buttons at top-right of admin edit page Pontoporeia 2026-05-05 11:09:29 +02:00
  • 95066de7b4 standardise multi-author support across all forms Pontoporeia 2026-05-05 10:31:06 +02:00
  • 125c501f40 Fix 403 on HTMX fragment requests: AdminAuth Basic Auth sets session key Pontoporeia 2026-05-04 18:33:27 +02:00
  • 37111eaac4 fix: add missing remote DB migrations and deploy-migrate recipe Pontoporeia 2026-05-04 18:19:26 +02:00
  • ae6d9b86b3 Replace browser alert/confirm dialogs with <dialog> modals Pontoporeia 2026-05-04 17:52:30 +02:00
  • ca5983075d feat: admin audit logging across all admin actions Pontoporeia 2026-05-04 17:34:26 +02:00
  • 5f24dcae7e fix: duplicate warning not shown in admin, double-encoded in partage, no focus Pontoporeia 2026-05-04 17:04:09 +02:00
  • a2cba6d3c0 feat: prevent duplicate TFE submissions with logging and user feedback Pontoporeia 2026-05-04 16:29:31 +02:00
  • 0a05f3911c Replace Psalm with PHPStan + PHP‑CS‑Fixer + Biome, add linting configs & cleanup Pontoporeia 2026-05-04 16:06:44 +02:00
  • d6e30ec9cd Enhance serve recipe to automatically open the browser Pontoporeia 2026-05-04 14:46:05 +02:00
  • 8a38708fc8 Refactor justfile to reduce redundancy and merge similar recipes Pontoporeia 2026-05-01 22:41:14 +02:00
  • d09f1942f0 Fix Mistral provider: change api from openai-completions to mistral-conversations Pontoporeia 2026-05-01 22:39:11 +02:00
  • 34b2d073ee style(toast): reposition to bottom-center, solid bg, larger text, longer duration Pontoporeia 2026-04-30 16:00:19 +02:00
  • e8bf89d184 admin header: replace déconnexion text with SVG sign-out icon Pontoporeia 2026-04-30 14:16:23 +02:00
  • 0f849468f7 feat: inline email retry on 550 rejection in tfe access request form Pontoporeia 2026-04-30 13:52:09 +02:00
  • da53bf5d7a feat: email retry page on 550 rejection; confirmation_email optional in admin form Pontoporeia 2026-04-30 13:44:59 +02:00
  • 898a87789b fix(smtp-test): catch SmtpSendException to surface delivery errors as flash messages Pontoporeia 2026-04-30 13:37:42 +02:00
  • 19784090a3 fix: pass PHP upload limits via -d flags in justfile serve recipe Pontoporeia 2026-04-30 13:26:08 +02:00
  • 6a37d21f3f docs: add file-uploads.md — accepted types, limits, storage, ordering, security Pontoporeia 2026-04-30 13:22:37 +02:00
  • a83dc1c74e feat: multi-type file upload with sort order, labels, and expanded MIME support Pontoporeia 2026-04-30 13:07:09 +02:00
  • 2188ff5479 docs: add SMTP 550 postfix fix report for mail admin Pontoporeia 2026-04-30 12:56:00 +02:00
  • 89b7ab476e Handle SMTP 550 recipient-rejected errors with structured SmtpSendException Pontoporeia 2026-04-30 12:40:14 +02:00
  • 8d115dc965 smtp: enable TLS peer verification, fix envelope injection, fix dot-stuffing Pontoporeia 2026-04-30 12:36:15 +02:00
  • 33987c9b15 smtp: add notify_email field; fix admin notification sent to no-reply sender Pontoporeia 2026-04-30 12:19:33 +02:00
  • bdb68479d5 smtp: typed probe errors with per-field UI highlighting on save Pontoporeia 2026-04-30 12:16:52 +02:00
  • b750aca2f5 smtp: probe credentials on save (connect+auth+quit, no message sent) Pontoporeia 2026-04-30 12:10:41 +02:00
  • 56c8d54435 repertoire: align all column headings to shared baseline row Pontoporeia 2026-04-30 11:42:44 +02:00
  • a9e03c4b1c repertoire: fixed-header columns, remove main/index padding, minimal column padding Pontoporeia 2026-04-30 11:41:00 +02:00
  • 0960afb731 fix: add missing favicon tags to partage/recapitulatif.php Pontoporeia 2026-04-30 11:38:08 +02:00
  • 9ba60084bf fix: require SmtpRelay.php before StudentEmail.php in partage/index.php Pontoporeia 2026-04-30 11:34:52 +02:00
  • cb883ab33f fix: deploy-server.sh migrates posterg.db → xamxam.db and cleans legacy nginx configs Pontoporeia 2026-04-30 11:27:19 +02:00
  • ab51bf3a66 fix: deploy-server.sh cleans up legacy posterg configs and prunes old xamxam backups Pontoporeia 2026-04-30 11:11:54 +02:00
  • 68e30abb56 fix: remove Post-ERG branding → XAMXAM; drop legacy posterg nginx symlink in deploy script; rename posterg.db → xamxam.db Pontoporeia 2026-04-30 11:10:07 +02:00
  • c949cf9481 rename posterg → xamxam throughout: nginx conf, scripts, PHP source, docs Pontoporeia 2026-04-30 10:50:23 +02:00
  • 3e35bbc40f style: align mobile nav dropdown links left Pontoporeia 2026-04-30 00:03:26 +02:00
  • 471c892638 style: larger mobile nav dropdown links Pontoporeia 2026-04-30 00:03:10 +02:00
  • 42286b1b71 Header link modification Pontoporeia 2026-04-30 00:03:10 +02:00
  • 671cfb6d83 fix: hamburger dropdown not showing — reset display:none at mobile breakpoint Pontoporeia 2026-04-29 22:13:24 +02:00
  • 11f429eb72 feat: pure-CSS hamburger menu for public nav (≤640px) Pontoporeia 2026-04-29 22:12:19 +02:00
  • c27ffafa7e fix: add missing favicon tags to partage/index.php (error, password gate, form) Pontoporeia 2026-04-29 21:58:49 +02:00
  • 80b7fddea4 fix: partials must not unset caller-owned $formData Pontoporeia 2026-04-29 21:54:18 +02:00
  • 992f74b31c fix: prevent jury-fieldset partial from calling old() with wrong arity in partage context Pontoporeia 2026-04-29 21:47:48 +02:00
  • 43702542eb feat(admin): sortable form-help blocks with two-panel UI Pontoporeia 2026-04-29 21:44:32 +02:00
  • 5c39e856a3 fix: pass enabledAccessTypes from ThesisEditController to edit view Pontoporeia 2026-04-29 21:34:47 +02:00
  • 885150ea45 css: centralise semantic element baseline styles in common.css Pontoporeia 2026-04-29 21:33:55 +02:00
  • b5189c0d08 admin: merge acces-etudiante+file-access into acces.php, absorb system.php into parametres.php Pontoporeia 2026-04-29 21:18:25 +02:00
  • 670a38f30d add form help blocks: DB table, admin editor, live rendering in partage form Pontoporeia 2026-04-29 21:08:09 +02:00