<?php
declare(strict_types=1);
require_once __DIR__ . '/bootstrap.php';
admin_require_login();

$files = glob(DATA_DIR . '/backups/*/*') ?: [];
rsort($files);
$groups = [];
foreach ($files as $file) {
    $group = basename(dirname($file));
    $groups[$group] = ($groups[$group] ?? 0) + 1;
}
$latest = $files[0] ?? null;
ob_start();
?>
<div class="grid grid-3">
  <div class="card"><div class="badge">Всего</div><h2><?= count($files) ?></h2><p>Резервных копий JSON и системных данных.</p></div>
  <div class="card"><div class="badge">Разделов</div><h2><?= count($groups) ?></h2><p>Отдельных папок с резервными копиями.</p></div>
  <div class="card"><div class="badge">Последний бэкап</div><h2 style="font-size:24px"><?= $latest ? e(date('d.m H:i', (int)(filemtime($latest) ?: time()))) : '—' ?></h2><p><?= $latest ? e(str_replace(DATA_DIR . '/', '', $latest)) : 'Файлов пока нет' ?></p></div>
</div>

<div class="grid grid-2" style="margin-top:18px">
  <section class="panel grid">
    <div class="admin-page-head admin-page-head--compact">
      <div>
        <div class="badge">Сводка</div>
        <h2 style="margin:10px 0 6px">По категориям</h2>
      </div>
    </div>
    <div class="admin-checklist">
      <?php foreach ($groups as $group => $count): ?>
        <div><strong><?= e($group) ?></strong> — <?= (int)$count ?></div>
      <?php endforeach; ?>
      <?php if (!$groups): ?><div>Пока нет резервных копий.</div><?php endif; ?>
    </div>
  </section>

  <section class="panel grid">
    <div class="admin-page-head admin-page-head--compact">
      <div>
        <div class="badge">Важно</div>
        <h2 style="margin:10px 0 6px">Как работает резервирование</h2>
      </div>
    </div>
    <p class="muted" style="margin:0">Бэкапы создаются автоматически перед сохранением настроек, страниц, модулей, коллекций и других JSON-данных. Это помогает откатиться после неудачных правок.</p>
  </section>
</div>

<div class="panel" style="margin-top:18px">
  <h2 style="margin-top:0">Последние резервные копии</h2>
  <div class="table-wrap">
    <table class="table admin-table">
      <thead><tr><th>Файл</th><th>Категория</th><th>Путь</th><th>Дата</th></tr></thead>
      <tbody>
        <?php foreach (array_slice($files, 0, 120) as $file): ?>
          <tr>
            <td><?= e(basename($file)) ?></td>
            <td><span class="badge"><?= e(basename(dirname($file))) ?></span></td>
            <td><?= e(str_replace(DATA_DIR . '/', '', $file)) ?></td>
            <td><?= e(date('d.m.Y H:i', (int)(filemtime($file) ?: time()))) ?></td>
          </tr>
        <?php endforeach; ?>
        <?php if (!$files): ?>
          <tr><td colspan="4">Резервных копий пока нет.</td></tr>
        <?php endif; ?>
      </tbody>
    </table>
  </div>
</div>
<?php
admin_layout('Бэкапы', ob_get_clean(), 'backups');
