<?php
// /admin/index.php
session_start();
if (!($_SESSION['admin_logged_in'] ?? false)) {
    header('Location: login.php');
    exit;
}

$config = require __DIR__ . '/../config.php';
$pdo = new PDO(
    "mysql:host={$config['db_host']};dbname={$config['db_name']};charset=utf8mb4",
    $config['db_user'],
    $config['db_pass'],
    [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);

// Обработка сохранения
if ($_POST['action'] ?? '' === 'update') {
    $id = (int)$_POST['id'];
    $raw = [
        'pizza'  => $_POST['pizza_raw'],
        'oil'    => $_POST['oil_raw'],
        'media'  => $_POST['media_raw'],
        'navy'   => $_POST['navy_raw'],
        'vip'    => $_POST['vip_raw'],
        'gov'    => $_POST['gov_raw'],
        'gold'   => $_POST['gold_raw'],
        'cyber'  => $_POST['cyber_raw'],
        'energy' => $_POST['energy_raw'],
        'social' => $_POST['social_raw'],
    ];

    // Пересчёт score и индекса (как в collector.php)
    $score = [
        'pizza'  => max(0, min(10, ($raw['pizza'] - 1) / 4.2 * 10)),
        'oil'    => max(0, min(10, ($raw['oil'] - 50) / 450 * 10)),
        'media'  => max(0, min(10, ($raw['media'] - 500) / 9500 * 10)),
        'navy'   => max(0, min(10, ($raw['navy'] - 1) / 4 * 10)),
        'vip'    => max(0, min(10, ($raw['vip'] - 5) / 15 * 10)),
        'gov'    => max(0, min(10, ($raw['gov'] - 1) / 3 * 10)),
        'gold'   => max(0, min(10, ($raw['gold'] - 30) / 170 * 10)),
        'cyber'  => max(0, min(10, ($raw['cyber'] - 1) / 3 * 10)),
        'energy' => max(0, min(10, ($raw['energy'] - 50) / 250 * 10)),
        'social' => max(0, min(10, ($raw['social'] - 1) / 3 * 10)),
    ];

    $weights = [0.221, 0.177, 0.133, 0.106, 0.088, 0.071, 0.062, 0.044, 0.053, 0.044];
    $index = 0;
    $score_list = array_values($score);
    foreach ($score_list as $i => $s) {
        $index += $s * $weights[$i];
    }
    $index = max(0, min(10, $index));
    $aal = $index < 2 ? 5 : ($index < 3.5 ? 4 : ($index < 5 ? 3 : ($index < 7 ? 2 : 1)));

    // Обновление записи
    $stmt = $pdo->prepare("
        UPDATE readings SET
          pizza_raw=?, oil_raw=?, media_raw=?, navy_raw=?, vip_raw=?,
          gov_raw=?, gold_raw=?, cyber_raw=?, energy_raw=?, social_raw=?,
          pizza_score=?, oil_score=?, media_score=?, navy_score=?, vip_score=?,
          gov_score=?, gold_score=?, cyber_score=?, energy_score=?, social_score=?,
          security_index=?, aal_level=?, is_manual=1, manual_reason=?, updated_at=NOW()
        WHERE id=?
    ");
    $stmt->execute(array_merge(
        array_values($raw),
        array_values($score),
        [$index, $aal, $_POST['manual_reason'] ?? '', $id]
    ));

    header('Location: index.php?saved=1');
    exit;
}

// Получаем последнюю запись
$record = $pdo->query("SELECT * FROM readings ORDER BY timestamp DESC LIMIT 1")->fetch();
?>

<!DOCTYPE html>
<html>
<head>
  <title>Админка — Avatiah Security Index</title>
  <meta charset="utf-8">
  <style>
    body { font-family: sans-serif; padding: 20px; background: #f9f9f9; }
    .form-group { margin: 15px 0; }
    label { display: inline-block; width: 250px; }
    input { padding: 6px; width: 120px; }
    button { padding: 10px 20px; background: #e74c3c; color: white; border: none; cursor: pointer; }
    .info { background: #fff; padding: 15px; margin: 20px 0; border-radius: 5px; }
  </style>
</head>
<body>
  <h1>🛠️ Административная панель</h1>

  <?php if (isset($_GET['saved'])): ?>
    <div class="info" style="background:#d4edda;color:#155724;">✅ Данные обновлены!</div>
  <?php endif; ?>

  <div class="info">
    <strong>Последняя запись:</strong> <?= $record['timestamp'] ?>
    <?php if ($record['is_manual']): ?>
      <span style="color:#e74c3c;">(ручная)</span>
    <?php endif; ?>
  </div>

  <form method="POST">
    <input type="hidden" name="action" value="update">
    <input type="hidden" name="id" value="<?= $record['id'] ?>">

    <?php
    $fields = [
        'pizza_raw' => '🍕 Индекс пиццы (x)',
        'oil_raw' => '🛢️ Волатильность нефти (%)',
        'media_raw' => '📰 Медиа-упоминания/час',
        'navy_raw' => '🚢 Группы ВМС США',
        'vip_raw' => '✈️ Дипломатические рейсы',
        'gov_raw' => '🏛️ События правительства',
        'gold_raw' => '💎 Волатильность золота (%)',
        'cyber_raw' => '🔒 Киберугрозы (1-5)',
        'energy_raw' => '⚡ Энергетика (%)',
        'social_raw' => '📱 Соцсети (1-5)',
    ];
    foreach ($fields as $key => $label): ?>
      <div class="form-group">
        <label><?= $label ?>:</label>
        <input type="number" step="0.1" name="<?= $key ?>" value="<?= htmlspecialchars($record[$key]) ?>" required>
      </div>
    <?php endforeach; ?>

    <div class="form-group">
      <label>📝 Причина ручной правки:</label>
      <input type="text" name="manual_reason" value="<?= htmlspecialchars($record['manual_reason']) ?>" style="width:400px;">
    </div>

    <button type="submit">💾 Сохранить</button>
    <a href="../" style="margin-left:20px;">← Вернуться на сайт</a>
  </form>
</body>
</html>