mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
Reintroduce TFE duration metadata: DB columns, form fields, controllers, views, and migration
Add 'unsafe-eval' to CSP script-src directives (htmx requires Function())
This commit is contained in:
@@ -1,30 +1,28 @@
|
||||
<main id="main-content">
|
||||
<main id="main-content" class="full-editor-page">
|
||||
<h1><a href="/admin/contenus.php" class="admin-back-btn" title="Retour"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="currentColor" viewBox="0 0 256 256"><path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216Zm48-88a8,8,0,0,1-8,8H107.31l18.35,18.34a8,8,0,0,1-11.32,11.32l-32-32a8,8,0,0,1,0-11.32l32-32a8,8,0,0,1,11.32,11.32L107.31,120H168A8,8,0,0,1,176,128Z"></path></svg></a> Éditer : <?= htmlspecialchars($editTitle) ?></h1>
|
||||
|
||||
<?php if ($editType === 'about_page'): ?>
|
||||
|
||||
<!-- ── Markdown content ──────────────────────────────────────────────── -->
|
||||
<h2>Contenu de la page</h2>
|
||||
<form action="/admin/actions/page.php" method="post" class="admin-form"
|
||||
hx-post="/admin/actions/page.php"
|
||||
hx-trigger="overtype:change delay:1500ms"
|
||||
hx-swap="none"
|
||||
hx-on::after-request="handleAutosaveResponse(event)">
|
||||
<form action="/admin/actions/page.php" method="post" class="admin-form admin-form--full-editor">
|
||||
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION["csrf_token"]) ?>">
|
||||
<input type="hidden" name="slug" value="about">
|
||||
|
||||
<label for="editor">Contenu (Markdown) :</label>
|
||||
<button type="button" class="btn btn--sm"
|
||||
hx-get="/admin/markdown-cheatsheet-fragment.php"
|
||||
hx-target="#md-cheatsheet-container"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="document.getElementById('md-cheatsheet-dialog').showModal()">
|
||||
Aide Markdown
|
||||
</button>
|
||||
<div class="full-editor-toolbar">
|
||||
<span class="full-editor-label">Contenu (Markdown) :</span>
|
||||
<button type="button" class="btn btn--sm"
|
||||
hx-get="/admin/markdown-cheatsheet-fragment.php"
|
||||
hx-target="#md-cheatsheet-container"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="document.getElementById('md-cheatsheet-dialog').showModal()">
|
||||
Aide Markdown
|
||||
</button>
|
||||
<button type="submit" class="btn btn--primary btn--sm">Enregistrer</button>
|
||||
</div>
|
||||
<input type="hidden" id="content" name="content"
|
||||
value="<?= htmlspecialchars($initialContent) ?>">
|
||||
<div id="editor"></div>
|
||||
<div class="autosave-status" data-autosave-status></div>
|
||||
</form>
|
||||
|
||||
<!-- ── Contacts ──────────────────────────────────────────────────────── -->
|
||||
@@ -137,50 +135,46 @@
|
||||
</script>
|
||||
|
||||
<?php elseif ($editType === 'page' && $pageSlug !== 'about'): ?>
|
||||
<form action="/admin/actions/page.php" method="post" class="admin-form"
|
||||
hx-post="/admin/actions/page.php"
|
||||
hx-trigger="overtype:change delay:1500ms"
|
||||
hx-swap="none"
|
||||
hx-on::after-request="handleAutosaveResponse(event)">
|
||||
<form action="/admin/actions/page.php" method="post" class="admin-form admin-form--full-editor">
|
||||
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION["csrf_token"]) ?>">
|
||||
<input type="hidden" name="slug" value="<?= htmlspecialchars($pageSlug) ?>">
|
||||
|
||||
<label for="editor">Contenu (Markdown) :</label>
|
||||
<button type="button" class="btn btn--sm"
|
||||
hx-get="/admin/markdown-cheatsheet-fragment.php"
|
||||
hx-target="#md-cheatsheet-container"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="document.getElementById('md-cheatsheet-dialog').showModal()">
|
||||
Aide Markdown
|
||||
</button>
|
||||
<div class="full-editor-toolbar">
|
||||
<span class="full-editor-label">Contenu (Markdown) :</span>
|
||||
<button type="button" class="btn btn--sm"
|
||||
hx-get="/admin/markdown-cheatsheet-fragment.php"
|
||||
hx-target="#md-cheatsheet-container"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="document.getElementById('md-cheatsheet-dialog').showModal()">
|
||||
Aide Markdown
|
||||
</button>
|
||||
<button type="submit" class="btn btn--primary btn--sm">Enregistrer</button>
|
||||
</div>
|
||||
<input type="hidden" id="content" name="content"
|
||||
value="<?= htmlspecialchars($initialContent) ?>">
|
||||
<div id="editor"></div>
|
||||
<div class="autosave-status" data-autosave-status></div>
|
||||
</form>
|
||||
|
||||
<?php elseif ($editType === 'form_help'): ?>
|
||||
<p class="param-note">Ce texte est affiché dans le formulaire de soumission des étudiant·es (lien de partage). Supporte le Markdown.</p>
|
||||
<form action="/admin/actions/form-help.php" method="post" class="admin-form"
|
||||
hx-post="/admin/actions/form-help.php"
|
||||
hx-trigger="overtype:change delay:1500ms"
|
||||
hx-swap="none"
|
||||
hx-on::after-request="handleAutosaveResponse(event)">
|
||||
<form action="/admin/actions/form-help.php" method="post" class="admin-form admin-form--full-editor">
|
||||
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token']) ?>">
|
||||
<input type="hidden" name="form_help_key" value="<?= htmlspecialchars($formHelpKey) ?>">
|
||||
|
||||
<label for="editor">Contenu (Markdown) :</label>
|
||||
<button type="button" class="btn btn--sm"
|
||||
hx-get="/admin/markdown-cheatsheet-fragment.php"
|
||||
hx-target="#md-cheatsheet-container"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="document.getElementById('md-cheatsheet-dialog').showModal()">
|
||||
Aide Markdown
|
||||
</button>
|
||||
<div class="full-editor-toolbar">
|
||||
<span class="full-editor-label">Contenu (Markdown) :</span>
|
||||
<button type="button" class="btn btn--sm"
|
||||
hx-get="/admin/markdown-cheatsheet-fragment.php"
|
||||
hx-target="#md-cheatsheet-container"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="document.getElementById('md-cheatsheet-dialog').showModal()">
|
||||
Aide Markdown
|
||||
</button>
|
||||
<button type="submit" class="btn btn--primary btn--sm">Enregistrer</button>
|
||||
</div>
|
||||
<input type="hidden" id="content" name="content"
|
||||
value="<?= htmlspecialchars($initialContent) ?>">
|
||||
<div id="editor"></div>
|
||||
<div class="autosave-status" data-autosave-status></div>
|
||||
</form>
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
Reference in New Issue
Block a user