getAllFormHelpBlocks(); $helpFn = fn(string $key) => empty($helpBlocks[$key]['enabled']) ? '' : ($helpBlocks[$key]['content'] ?? ''); function old($key, $default = "") { global $formData; if (!isset($formData[$key])) return $default; if (is_array($formData[$key])) return $formData[$key]; // Return raw array for callers that handle it if ($formData[$key] === null) return $default; return htmlspecialchars((string)$formData[$key]); } try { $ctrl = ThesisEditController::create(); $view = $ctrl->load($thesisId); extract($view); } catch (Exception $e) { error_log("Error loading edit page: " . $e->getMessage()); die("Erreur lors du chargement: " . $e->getMessage()); } $isAdmin = true; $bodyClass = 'admin-body'; $extraCss = ['/assets/css/form.css', '/assets/css/filepond.min.css', '/assets/css/filepond-plugin-image-preview.min.css']; $extraJs = ['/assets/js/vendor/filepond.min.js', '/assets/js/vendor/filepond-plugin-file-validate-type.min.js', '/assets/js/vendor/filepond-plugin-file-validate-size.min.js', '/assets/js/vendor/filepond-plugin-image-preview.min.js', '/assets/js/vendor/filepond-plugin-image-exif-orientation.min.js', '/assets/js/app/file-upload-filepond.js', '/assets/js/app/beforeunload-guard.js', '/assets/js/app/pill-search.js']; require_once APP_ROOT . '/templates/head.php'; include APP_ROOT . '/templates/header.php'; include APP_ROOT . '/templates/admin/edit.php'; require_once APP_ROOT . '/templates/admin/footer.php';