feat : graphique visiteurs par pays + réseaux détail + suppression groupes AS
This commit is contained in:
+11
-40
@@ -25,7 +25,10 @@ $_activeGroup = trim($_GET['group'] ?? '');
|
||||
|
||||
<p class="text-muted small mb-4">14 derniers jours · visiteurs uniques · flux RSS XML</p>
|
||||
|
||||
<script>var FOLIO_PAGES_BY_DAY = <?= json_encode($_pagesByDay, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) ?>;</script>
|
||||
<script>
|
||||
var FOLIO_PAGES_BY_DAY = <?= json_encode($_pagesByDay, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) ?>;
|
||||
var FOLIO_AS_LIST = <?= json_encode($_asList, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) ?>;
|
||||
</script>
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-header bg-transparent py-2 small fw-semibold d-flex justify-content-between">
|
||||
@@ -39,6 +42,13 @@ $_activeGroup = trim($_GET['group'] ?? '');
|
||||
<div class="card-footer bg-transparent border-top px-3 pt-3 pb-2" id="stats-multiline-container"></div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-4">
|
||||
<div class="card-header bg-transparent py-2 small fw-semibold">Visiteurs par pays</div>
|
||||
<div class="card-body p-3" id="stats-country-container">
|
||||
<p class="text-muted mb-0">Chargement…</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
|
||||
<!-- Livres -->
|
||||
@@ -157,44 +167,5 @@ $_activeGroup = trim($_GET['group'] ?? '');
|
||||
|
||||
<?php endif; // readable?>
|
||||
|
||||
<!-- Groupes de réseaux -->
|
||||
<div class="card mt-4" style="max-width:600px">
|
||||
<div class="card-header bg-transparent py-2 small fw-semibold">Groupes de réseaux</div>
|
||||
<div class="card-body">
|
||||
<p class="text-muted small">Regroupez plusieurs réseaux sous un label. Chaque ligne est un motif cherché dans le nom du réseau (insensible à la casse).</p>
|
||||
<form method="post" action="/?action=admin_save_as_groups" id="as-groups-form">
|
||||
<div id="as-groups-list">
|
||||
<?php foreach ($_groups as $gi => $g): ?>
|
||||
<div class="as-group-row border rounded p-3 mb-3">
|
||||
<div class="d-flex align-items-center gap-2 mb-2">
|
||||
<input type="text" name="as_group_label[]" class="form-control form-control-sm"
|
||||
placeholder="Label (ex : Opérateurs FR)"
|
||||
value="<?= htmlspecialchars($g['label']) ?>" required>
|
||||
<button type="button" class="btn btn-outline-danger btn-sm as-group-delete" title="Supprimer">✕</button>
|
||||
</div>
|
||||
<textarea name="as_group_patterns[]" class="form-control form-control-sm font-monospace"
|
||||
rows="3" placeholder="Un motif par ligne ex : Free SAS Orange SFR"><?= htmlspecialchars(implode("\n", $g['patterns'])) ?></textarea>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<div class="d-flex gap-2 mt-2">
|
||||
<button type="button" id="as-group-add" class="btn btn-outline-secondary btn-sm">+ Ajouter un groupe</button>
|
||||
<button type="submit" class="btn btn-primary btn-sm">Enregistrer</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<template id="as-group-tpl">
|
||||
<div class="as-group-row border rounded p-3 mb-3">
|
||||
<div class="d-flex align-items-center gap-2 mb-2">
|
||||
<input type="text" name="as_group_label[]" class="form-control form-control-sm"
|
||||
placeholder="Label (ex : Moteurs de recherche)" required>
|
||||
<button type="button" class="btn btn-outline-danger btn-sm as-group-delete" title="Supprimer">✕</button>
|
||||
</div>
|
||||
<textarea name="as_group_patterns[]" class="form-control form-control-sm font-monospace"
|
||||
rows="3" placeholder="Un motif par ligne ex : Googlebot Bingbot"></textarea>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="/assets/js/admin-stats.js" defer></script>
|
||||
|
||||
Reference in New Issue
Block a user