mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 19:19:19 +02:00
Redesign UI to match target design images
- Flat purple-gradient nav bar with POSTERG/RÉPERTOIRE/À PROPOS links - Full-width search bar with icon, bottom-border only, below nav - Home: white bg, media card grid (thumbnail + author/title label below) - Répertoire: 4-column index (Années/Catégories/Étudiantes/Mots-clés) - TFE: 2-column layout (large text left, media right) - À Propos: 2-column, large monospace text, new apropos.php page - Admin: dark theme (#1a1a1a), purple gradient nav, bottom-border inputs - New shared partials: templates/nav.php, templates/search-bar.php - Rewrote all CSS: common, main, search, tfe, apropos, admin
This commit is contained in:
@@ -175,147 +175,156 @@ try {
|
||||
?>
|
||||
<?php require_once APP_ROOT . '/templates/admin/head.php'; ?>
|
||||
|
||||
<main>
|
||||
<?php if ($error): ?>
|
||||
<div class="alert-error">
|
||||
<strong>⚠️ Erreur:</strong> <?php echo htmlspecialchars($error); ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<main class="admin-main">
|
||||
<h1 class="admin-page-title">Modifier un TFE</h1>
|
||||
|
||||
<?php if ($success): ?>
|
||||
<div class="alert-success">
|
||||
<strong>✓ <?php echo htmlspecialchars($success); ?></strong>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php if ($error): ?>
|
||||
<div class="admin-alert admin-alert--error">⚠ <?= htmlspecialchars($error) ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if ($success): ?>
|
||||
<div class="admin-alert admin-alert--success">✓ <?= htmlspecialchars($success) ?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
<form method="post" action="edit.php?id=<?php echo $thesisId; ?>">
|
||||
<input type="hidden" name="csrf_token" value="<?php echo htmlspecialchars($_SESSION['csrf_token']); ?>">
|
||||
<form method="post" action="edit.php?id=<?= $thesisId ?>" class="admin-form">
|
||||
<input type="hidden" name="csrf_token" value="<?= htmlspecialchars($_SESSION['csrf_token']) ?>">
|
||||
|
||||
<h2>Informations de base</h2>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="auteurice">Auteur·ice(s) :</label>
|
||||
<input class="admin-input" type="text" id="auteurice" name="auteurice"
|
||||
value="<?= htmlspecialchars($thesis['authors']) ?>" required>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="auteurice">Nom/Prénom/Pseudo *</label>
|
||||
<input type="text" id="auteurice" name="auteurice" value="<?php echo htmlspecialchars($thesis['authors']); ?>" required>
|
||||
<small>Si plusieurs, séparer par des virgules</small>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="mail">Contact :</label>
|
||||
<input class="admin-input" type="text" id="mail" name="mail" value="">
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="mail">Contact</label>
|
||||
<input type="text" id="mail" name="mail" value="">
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="année">Année :</label>
|
||||
<input class="admin-input" type="number" id="année" name="année"
|
||||
value="<?= $thesis['year'] ?>" required>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="année">Année *</label>
|
||||
<input type="number" id="année" name="année" value="<?php echo $thesis['year']; ?>" required>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="orientation">Orientation :</label>
|
||||
<select class="admin-select" id="orientation" name="orientation" required>
|
||||
<?php foreach ($orientations as $o): ?>
|
||||
<option value="<?= $o['id'] ?>"
|
||||
<?= ($thesis['orientation'] == $o['name']) ? 'selected' : '' ?>>
|
||||
<?= htmlspecialchars($o['name']) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<h2>Informations académiques</h2>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="ap">Atelier pluridisciplinaire :</label>
|
||||
<select class="admin-select" id="ap" name="ap" required>
|
||||
<?php foreach ($apPrograms as $ap): ?>
|
||||
<option value="<?= $ap['id'] ?>"
|
||||
<?= ($thesis['ap_program'] == $ap['name']) ? 'selected' : '' ?>>
|
||||
<?= htmlspecialchars($ap['name']) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="orientation">Orientation *</label>
|
||||
<select id="orientation" name="orientation" required>
|
||||
<?php foreach ($orientations as $orientation): ?>
|
||||
<option value="<?php echo $orientation['id']; ?>" <?php echo ($thesis['orientation'] == $orientation['name']) ? 'selected' : ''; ?>>
|
||||
<?php echo htmlspecialchars($orientation['name']); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="finality">Finalité du master :</label>
|
||||
<select class="admin-select" id="finality" name="finality" required>
|
||||
<?php foreach ($finalityTypes as $f): ?>
|
||||
<option value="<?= $f['id'] ?>"
|
||||
<?= ($thesis['finality_type'] == $f['name']) ? 'selected' : '' ?>>
|
||||
<?= htmlspecialchars($f['name']) ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="ap">Atelier Pratique *</label>
|
||||
<select id="ap" name="ap" required>
|
||||
<?php foreach ($apPrograms as $ap): ?>
|
||||
<option value="<?php echo $ap['id']; ?>" <?php echo ($thesis['ap_program'] == $ap['name']) ? 'selected' : ''; ?>>
|
||||
<?php echo htmlspecialchars($ap['name']); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="promoteurice">Promoteur·ice(s) :</label>
|
||||
<input class="admin-input" type="text" id="promoteurice" name="promoteurice"
|
||||
value="<?= htmlspecialchars($thesis['supervisors'] ?? '') ?>">
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="finality">Finalité *</label>
|
||||
<select id="finality" name="finality" required>
|
||||
<?php foreach ($finalityTypes as $finality): ?>
|
||||
<option value="<?php echo $finality['id']; ?>" <?php echo ($thesis['finality_type'] == $finality['name']) ? 'selected' : ''; ?>>
|
||||
<?php echo htmlspecialchars($finality['name']); ?>
|
||||
</option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="titre">Titre :</label>
|
||||
<input class="admin-input" type="text" id="titre" name="titre"
|
||||
value="<?= htmlspecialchars($thesis['title']) ?>" required>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="promoteurice">Promoteur·ice(s)</label>
|
||||
<input type="text" id="promoteurice" name="promoteurice" value="<?php echo htmlspecialchars($thesis['supervisors'] ?? ''); ?>">
|
||||
<small>Si plusieurs, séparer par des virgules</small>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="subtitle">Sous-titre :</label>
|
||||
<input class="admin-input" type="text" id="subtitle" name="subtitle"
|
||||
value="<?= htmlspecialchars($thesis['subtitle'] ?? '') ?>">
|
||||
</div>
|
||||
|
||||
<h2>À propos du TFE</h2>
|
||||
<div class="admin-form-row" style="align-items:start;">
|
||||
<label class="admin-label" for="synopsis">Synopsis :</label>
|
||||
<textarea class="admin-textarea" id="synopsis" name="synopsis" rows="7" required><?= htmlspecialchars($thesis['synopsis'] ?? '') ?></textarea>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="titre">Titre *</label>
|
||||
<input type="text" id="titre" name="titre" value="<?php echo htmlspecialchars($thesis['title']); ?>" required>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<label for="subtitle">Sous-titre</label>
|
||||
<input type="text" id="subtitle" name="subtitle" value="<?php echo htmlspecialchars($thesis['subtitle'] ?? ''); ?>">
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<label for="synopsis">Synopsis *</label>
|
||||
<textarea id="synopsis" name="synopsis" rows="8" required><?php echo htmlspecialchars($thesis['synopsis'] ?? ''); ?></textarea>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<label>Langue(s) *</label>
|
||||
<?php foreach ($languages as $language): ?>
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" name="languages[]" value="<?php echo $language['id']; ?>" <?php echo in_array($language['id'], $currentLanguages) ? 'checked' : ''; ?>>
|
||||
<?php echo htmlspecialchars($language['name']); ?>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label">Langue(s) :</label>
|
||||
<div class="admin-checkbox-list">
|
||||
<?php foreach ($languages as $lang): ?>
|
||||
<label class="admin-checkbox-label">
|
||||
<input type="checkbox" name="languages[]" value="<?= $lang['id'] ?>"
|
||||
<?= in_array($lang['id'], $currentLanguages) ? 'checked' : '' ?>>
|
||||
<?= htmlspecialchars($lang['name']) ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label>Format(s)</label>
|
||||
<?php foreach ($formatTypes as $format): ?>
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" name="formats[]" value="<?php echo $format['id']; ?>" <?php echo in_array($format['id'], $currentFormats) ? 'checked' : ''; ?>>
|
||||
<?php echo htmlspecialchars($format['name']); ?>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label">Format(s) :</label>
|
||||
<div class="admin-checkbox-list">
|
||||
<?php foreach ($formatTypes as $fmt): ?>
|
||||
<label class="admin-checkbox-label">
|
||||
<input type="checkbox" name="formats[]" value="<?= $fmt['id'] ?>"
|
||||
<?= in_array($fmt['id'], $currentFormats) ? 'checked' : '' ?>>
|
||||
<?= htmlspecialchars($fmt['name']) ?>
|
||||
</label>
|
||||
<?php endforeach; ?>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="tag">Mots-clés (max 10)</label>
|
||||
<input type="text" id="tag" name="tag" value="<?php echo htmlspecialchars($thesis['keywords'] ?? ''); ?>">
|
||||
<small>Séparer par des virgules</small>
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="tag">Mots-clés :</label>
|
||||
<div>
|
||||
<input class="admin-input" type="text" id="tag" name="tag"
|
||||
value="<?= htmlspecialchars($thesis['keywords'] ?? '') ?>">
|
||||
<p class="admin-hint">Séparer par des virgules. Max 10.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="duration_info">Durée/Taille</label>
|
||||
<input type="text" id="duration_info" name="duration_info" value="<?php echo htmlspecialchars($thesis['file_size_info'] ?? ''); ?>">
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="duration_info">Durée / Taille :</label>
|
||||
<input class="admin-input" type="text" id="duration_info" name="duration_info"
|
||||
value="<?= htmlspecialchars($thesis['file_size_info'] ?? '') ?>">
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label for="lien">Lien externe</label>
|
||||
<input type="url" id="lien" name="lien" value="<?php echo htmlspecialchars($thesis['baiu_link'] ?? ''); ?>">
|
||||
</fieldset>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label" for="lien">Lien externe :</label>
|
||||
<input class="admin-input" type="url" id="lien" name="lien"
|
||||
value="<?= htmlspecialchars($thesis['baiu_link'] ?? '') ?>">
|
||||
</div>
|
||||
|
||||
<h2>Publication</h2>
|
||||
<div class="admin-form-row">
|
||||
<label class="admin-label">Publication :</label>
|
||||
<label class="admin-checkbox-label">
|
||||
<input type="checkbox" name="is_published" value="1"
|
||||
<?= $thesis['is_published'] ? 'checked' : '' ?>>
|
||||
Publier ce TFE sur le site public
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<label class="checkbox-label">
|
||||
<input type="checkbox" name="is_published" value="1" <?php echo $thesis['is_published'] ? 'checked' : ''; ?>>
|
||||
<span>Publier ce TFE sur le site public</span>
|
||||
</label>
|
||||
<small>Si coché, ce TFE sera visible sur le site public. Sinon, il restera en attente.</small>
|
||||
</fieldset>
|
||||
|
||||
<button type="submit">Enregistrer les modifications</button>
|
||||
<a href="/admin/thanks.php?id=<?php echo $thesisId; ?>">Annuler</a>
|
||||
</form>
|
||||
</main>
|
||||
<div class="admin-submit-wrap">
|
||||
<button type="submit" class="admin-btn">Enregistrer</button>
|
||||
<a href="/admin/thanks.php?id=<?= $thesisId ?>" class="admin-btn-secondary" style="margin-left:.75rem;">Annuler</a>
|
||||
</div>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
<?php require_once APP_ROOT . '/templates/admin/footer.php'; ?>
|
||||
|
||||
Reference in New Issue
Block a user