Files
xamxam/app/templates/admin/add.php
Pontoporeia cc0ae32df0 fix: resolve partage form submission issues
- Replace mb_strlen/mb_substr/mb_strtolower with strlen/substr/strtolower
  (mbstring extension missing on server, causing fatal error)
- Scope annexes checkbox HTMX swap to #annexes-input-block with hx-select
  (prevents duplicating entire page inside Fichiers fieldset)
- Split format+fichiers response: #format-fichiers-block (stable) and
  #format-extras-block (swappable, inside Fichiers fieldset). Format
  checkboxes use hx-select to extract only the extras, preserving file queue.
- Keep format extras inline in Fichiers fieldset (no sub-fieldsets). Remove
  website legend input (URL only).
- When PeerTube upload disabled, show direct file upload inputs for
  video/audio (name=files[]).
- Add "Glissez-déposez" sort hint below TFE file queue.
- Fix .fq-name overflow with width:0;min-width:100% chain.
- Remove legend placeholder from .fq-item.
- Merge "Récits et expérimentation" AP into "Narration Spéculative".
  Rename PACS to "Pratique de lart - outils critiques, arts et contexte
  simultanés".
- Remove président·e field from jury fieldset, form templates, and
  controller validation. Keep DB column and display logic for existing data.
2026-05-19 00:08:05 +02:00

49 lines
1.7 KiB
PHP

<main id="main-content">
<h1>Ajouter un TFE</h1>
<?php
// ── Variables for the shared form partial ─────────────────────────────────
$mode = 'add';
$formAction = 'actions/formulaire.php';
$hiddenFields = '<input type="hidden" name="csrf_token" value="' . htmlspecialchars($_SESSION["csrf_token"]) . '">';
$synopsisExtra = '';
// Jury: fresh add (all empty)
$juryPromoteur = null;
$juryPromoteurs = [];
$juryPromoteurUlb = null;
$juryPromoteursUlb = [];
$lecteursInternes = [];
$lecteursExternes = [];
$showPromoteurUlb = true;
$promoteurUlbConditional = false;
// Licence / access
$libreEnabled = ($siteSettings['access_type_libre_enabled'] ?? '0') === '1';
$interneEnabled = ($siteSettings['access_type_interne_enabled'] ?? '1') === '1';
$interditEnabled = ($siteSettings['access_type_interdit_enabled'] ?? '1') === '1';
$generalitiesHtml = $helpFn('fieldset_generalites');
$defaultAccessTypeId = 2;
// Optional sections
$showContact = false; // Admin: contact visibility controlled by filling 'mail' field in fieldset-tfe-info
$showBackoffice = true;
// Files: add mode
$filesMode = 'add';
// Website URL (repopulation)
$existingWebsiteUrl = $formData['website_url'] ?? '';
$existingWebsiteLabel = $formData['website_label'] ?? '';
// Backoffice (add mode: null → falls back to formData)
$currentRaw = [];
$currentAuthorEmail = null;
$currentAuthorShowContact = false;
$currentContextNote = null;
include APP_ROOT . '/templates/partials/form/form.php';
?>
</main>