Commit Graph

  • 95066de7b4 standardise multi-author support across all forms main 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
  • 0437ec8d15 fix: escape apostrophe in FORM_HELP_LABELS string (Database.php:2005) Pontoporeia 2026-04-29 21:05:53 +02:00
  • d665cb502d centralise form fieldsets into shared partials; add TODO stubs in partage form Pontoporeia 2026-04-29 20:59:35 +02:00
  • 0628efbba3 Updated the README Pontoporeia 2026-04-29 20:47:11 +02:00
  • 89de6dd748 Removed the test csv Pontoporeia 2026-04-28 22:21:22 +02:00
  • 18a02a0018 deploy: rename deploy path from /var/www/posterg to /var/www/xamxam Pontoporeia 2026-04-28 22:21:09 +02:00
  • cd68e6e9d7 deploy: exclude posterg.db, theses/, covers/ from rsync to avoid overwriting remote data Pontoporeia 2026-04-28 22:12:50 +02:00
  • 59c4cf055f smtp-test: bypass DB, use POST fields directly for credentials Pontoporeia 2026-04-27 21:32:46 +02:00
  • 9ff8b1b464 fix: call RateLimit::checkKey() as instance method in request-access.php Pontoporeia 2026-04-27 21:16:26 +02:00
  • e09b056115 fix: iframe for PDF display, exclude cover files from public loop, no session on media requests Pontoporeia 2026-04-27 21:11:58 +02:00
  • 46a3c360ec fix: use local storage/ in dev, create upload dirs, gitignore uploads Pontoporeia 2026-04-27 21:06:10 +02:00
  • 48059c2317 fix: serve logs, formulaire.php error_log path, CSRF debug, undefined $redirect Pontoporeia 2026-04-27 21:03:45 +02:00
  • 32a7509598 feat: add file display to forms and recap pages Pontoporeia 2026-04-27 20:41:43 +02:00
  • aca7e7eef8 rename thanks.php to recapitulatif.php in admin and partage Pontoporeia 2026-04-27 20:40:34 +02:00
  • 4d88bd8cc5 edit.php: rework Fichiers fieldset layout Pontoporeia 2026-04-27 20:38:45 +02:00
  • 8e864fc624 admin edit.php: add cover image + thesis file management fields Pontoporeia 2026-04-27 20:33:21 +02:00
  • 27e1b6828d Implement TFE file access restriction feature (complete) Pontoporeia 2026-04-27 20:12:43 +02:00
  • 5c776dd39e Updated gitignore to keep cache folder but exclude rate_limit logs Théophile Gervreau-Mercier 2026-04-27 19:30:44 +02:00
  • d2d54b577a Added cache folder to gitignore Théophile Gervreau-Mercier 2026-04-27 19:30:44 +02:00
  • 88b9f341cd Replace Posterg branding with XAMXAM in all user-facing content Théophile Gervreau-Mercier 2026-04-27 18:31:39 +02:00
  • 7e26351f4b refactor: remove test.db, use only posterg.db for all environments Théophile Gervreau-Mercier 2026-04-27 18:07:03 +02:00
  • 780105eec0 Fix storage/cache ignore path and untrack cache files Théophile Gervreau-Mercier 2026-04-25 19:20:51 +02:00
  • 209dc86990 Added the cache folder wildcard Théophile Gervreau-Mercier 2026-04-25 19:20:51 +02:00
  • 54ef24d21f ignore *.db files, fix thesis identifier to use max seq instead of count, untrack .db files Pontoporeia 2026-04-24 22:48:01 +02:00
  • 4986fa74f4 add structured logging for admin/partage form submissions + migration system Pontoporeia 2026-04-24 16:55:11 +02:00
  • decb9e2907 fix: replace mb_strlen/mb_substr in student-preview.php (mbstring unavailable) Pontoporeia 2026-04-24 13:38:14 +02:00
  • 9b4cb52617 fix: replace mb_strtolower with strtolower in admin import (mbstring unavailable in php8.4-fpm) Pontoporeia 2026-04-24 13:32:38 +02:00
  • 769beae4ee fix: drop hx-trigger once — rely on browser cache for dedup Pontoporeia 2026-04-24 13:27:47 +02:00
  • 743268cf1b fix: drop hx-trigger once — rely on browser cache for dedup Pontoporeia 2026-04-24 13:27:28 +02:00
  • 6eb111a6ab perf: htmx lazy popover with Cache-Control — no pre-render, images load on hover only Pontoporeia 2026-04-24 13:20:19 +02:00
  • e590d8e035 perf: pre-render student popover cards server-side into <template> tags — zero per-hover requests Pontoporeia 2026-04-24 13:17:47 +02:00
  • 53c3127140 feat: student name popover preview on /repertoire via htmx Pontoporeia 2026-04-24 13:13:26 +02:00
  • ede53746ba feat: student name popover preview on /repertoire via htmx Pontoporeia 2026-04-24 13:11:15 +02:00
  • d961f9533c feat: add objet field (tfe/thèse/frart) with share-link restriction and site-settings toggles Pontoporeia 2026-04-22 14:06:05 +02:00
  • dbaabaf8a0 merge all migrations into schema.sql Pontoporeia 2026-04-22 11:30:15 +02:00
  • 38031374c1 fix(partage): smtp view missing in schema + thanks redirect broken Pontoporeia 2026-04-22 11:23:00 +02:00
  • 95bce2bbad Extract form CSS into form.css; scope system.css to system.php only Pontoporeia 2026-04-22 11:18:52 +02:00
  • d82556c596 Unify form CSS: move licence/share-badge styles to admin.css, remove inline style from partage form Pontoporeia 2026-04-22 11:10:13 +02:00
  • 057d2539eb SmtpRelay: parse EHLO caps, prefer AUTH PLAIN over AUTH LOGIN Pontoporeia 2026-04-22 10:58:49 +02:00
  • a3849a8e69 SmtpRelay: replace mail() stub with native socket SMTP client Pontoporeia 2026-04-22 10:53:27 +02:00
  • b448d0d40c Lock body scroll: only main/inner elements scroll on admin and public pages Pontoporeia 2026-04-22 10:45:32 +02:00
  • 5a58eefe66 feat(admin): add SMTP test email button on parametres page Pontoporeia 2026-04-22 10:40:47 +02:00
  • 4839b568de Separate admin views from controllers — move HTML to templates/admin/ Pontoporeia 2026-04-21 21:49:30 +02:00
  • 362688c0fa fix: remove broken flash-messages include from admin footer; make repertoire columns scrollable Pontoporeia 2026-04-21 19:25:54 +02:00
  • 19ef2a11dc fix CSV importer AP/orientation name resolution + seed missing AP programs Pontoporeia 2026-04-21 19:16:52 +02:00
  • 73fdda4a7f fix repertoire AP/OR/FI columns and main scroll containment Pontoporeia 2026-04-21 19:05:18 +02:00
  • 78449afe64 some css changes Pontoporeia 2026-04-20 16:48:15 +02:00
  • 1b02ccb1d5 fix: mark languages as required, add required-field visual indicators on both forms Pontoporeia 2026-04-20 16:19:55 +02:00
  • e21a4d81a2 refine: required confirmation_email field on both student forms, StudentEmail uses it directly Pontoporeia 2026-04-20 15:02:28 +02:00
  • fa75ca4a65 fix: inline getDatabasePath into Database.php, delete config/config.php Pontoporeia 2026-04-20 14:23:30 +02:00
  • 468278349a fix: router.php — bypass admin requests to front controller Pontoporeia 2026-04-20 14:13:44 +02:00
  • 033599aa36 fix: config/config.php — correct DB paths to app/storage/, add test.db for dev Pontoporeia 2026-04-20 14:12:26 +02:00
  • 5af31aceda fix: Database.php require_once -> resolve config.php from app/src/ Pontoporeia 2026-04-20 14:11:16 +02:00
  • de2e7a61ee feat: single entry point routing — convert to front controller pattern Pontoporeia 2026-04-20 12:41:55 +02:00
  • 75f808bee4 feat: extract MediaController, wire into Dispatcher, delete media.php Pontoporeia 2026-04-17 11:44:08 +02:00