Modifier un TFE

$thesis['title'], 'subtitle' => $thesis['subtitle'] ?? '', 'auteurice' => $thesis['authors'] ?? '', 'mail' => $currentAuthorEmail ?? '', 'synopsis' => $thesis['synopsis'] ?? '', 'tag' => $thesis['keywords'] ?? '', 'année' => $thesis['year'], 'orientation' => $thesis['orientation'], 'ap' => $thesis['ap_program'], 'finality' => $thesis['finality_type'], 'lien' => $thesis['baiu_link'] ?? '', 'contact_public' => $currentAuthorShowContact ?? false, ]); $oldFn = fn(string $key, string $default = '') => isset($editFormData[$key]) && !is_array($editFormData[$key]) ? htmlspecialchars((string)$editFormData[$key]) : $default; $withAutofocusFn = function (string $field, array $attrs = []) use ($autofocusField) { if ($autofocusField === $field) $attrs['autofocus'] = true; return $attrs; }; // ── Shared form variables ────────────────────────────────────────────────── $mode = 'edit'; $formAction = '/admin/actions/edit.php'; $hiddenFields = '' . ''; $synopsisExtra = ''; $formData = $editFormData; // Jury data $juryPromoteur = null; $juryPromoteurs = []; $juryPromoteurUlb = null; $juryPromoteursUlb = []; $lecteursInternes = []; $lecteursExternes = []; foreach ($jury as $jm) { if ($jm['role'] === 'president') { continue; } if ($jm['role'] === 'promoteur') { if (($jm['is_ulb'] ?? 0) == 1) { $juryPromoteursUlb[] = $jm; } else { $juryPromoteurs[] = $jm; } } elseif ($jm['role'] === 'lecteur') { if (($jm['is_external'] ?? 0) == 1) { $lecteursExternes[] = $jm; } else { $lecteursInternes[] = $jm; } } } // Backwards compat: if only one, also set the scalar for simple templates if (!empty($juryPromoteurs) && $juryPromoteur === null) { $juryPromoteur = $juryPromoteurs[0]['name']; } if (!empty($juryPromoteursUlb) && $juryPromoteurUlb === null) { $juryPromoteurUlb = $juryPromoteursUlb[0]['name']; } $showPromoteurUlb = true; $promoteurUlbConditional = false; // Licence / access — always all enabled for admin $libreEnabled = true; $interneEnabled = true; $interditEnabled = true; $generalitiesHtml = $helpFn('fieldset_generalites'); $defaultAccessTypeId = $currentAccessTypeId ?? 2; $formData['access_type_id'] = $currentAccessTypeId; $formData['license_id'] = $currentLicenseId; $formData['license_custom'] = $currentRaw['license_custom'] ?? ''; $formData['cc2r'] = $currentRaw['cc2r'] ?? false; // Optional sections $showContact = false; // Admin: contact visibility controlled by filling 'mail' field in fieldset-tfe-info $showBackoffice = true; // Files: edit mode $filesMode = 'edit'; $currentCover = $currentCover ?? null; $currentFiles = $currentFiles ?? []; $currentContextNote = $currentContextNote ?? null; // Website URL from existing files $existingWebsiteUrl = ''; $existingWebsiteLabel = ''; foreach ($currentFiles as $f) { if ($f['file_type'] === 'website') { $existingWebsiteUrl = $f['file_path'] ?? ''; $existingWebsiteLabel = $f['display_label'] ?? ''; break; } } // Languages — either from flash repopulation or current thesis data $formData['languages'] = $formData['languages'] ?? $currentLanguages ?? []; // Formats — either from flash repopulation or current thesis data $checkedFormats = $formData['formats'] ?? $currentFormats ?? []; // Populate formData.formats for checkbox-list partial $formData['formats'] = $checkedFormats; $checkedFormatsForSiteWeb = $checkedFormats; include APP_ROOT . '/templates/partials/form/form.php'; ?>