<?php
// admin/security_alerts.php - سجل تنبيهات أمان لوحة الإدارة
$page_title = 'سجل تنبيهات الأمان';
if (session_status() === PHP_SESSION_NONE) session_start();
$UA_FORCE_DESIGN_V2 = true;
$uaAndroidSecurityAlerts = ((string)($_GET['ua_android'] ?? '') === '1') || stripos((string)($_SERVER['HTTP_USER_AGENT'] ?? ''), 'NetworkCustomersAndroid/') !== false;
if ($uaAndroidSecurityAlerts) $UA_PAGE_CSS = ['assets/css/android_security_alerts.css'];
require_once __DIR__ . '/header.php';
require_once __DIR__ . '/sidebar.php';
require_once __DIR__ . '/security_alerts_lib.php';
require_once __DIR__ . '/security_monitor_lib.php';

if (!($conn instanceof mysqli)) {
  echo '<div class="content-wrapper ua-manual-page"><section class="content"><div class="container-fluid p-4"><div class="alert alert-danger">فشل الاتصال بقاعدة البيانات.</div></div></section></div>';
  require_once __DIR__ . '/footer.php';
  exit;
}
ua_security_alerts_ensure_schema($conn);
if (function_exists('sm_cleanup_stale_security_alerts')) sm_cleanup_stale_security_alerts($conn, 3, 30);

$secMsg = '';
$secErr = '';
if (($_SERVER['REQUEST_METHOD'] ?? '') === 'POST') {
  $act = (string)($_POST['act'] ?? '');
  if ($act === 'close_one') {
    $id = (int)($_POST['id'] ?? 0);
    $res = function_exists('sm_close_admin_alert') ? sm_close_admin_alert($conn, $id, 'closed', 'Closed from security alerts page.') : ['ok'=>($id > 0 && ua_security_close_alert($conn, $id))];
    if (!empty($res['ok'])) $secMsg = 'تم إغلاق التنبيه.'; else $secErr = 'تعذر إغلاق التنبيه.';
    $act = '';
  }
  if ($act === 'close_one') {
    $id = (int)($_POST['id'] ?? 0);
    if ($id > 0 && ua_security_close_alert($conn, $id)) $secMsg = 'تم إغلاق التنبيه.';
    else $secErr = 'تعذر إغلاق التنبيه.';
  } elseif ($act === 'close_all') {
    if (ua_security_close_all_alerts($conn)) $secMsg = 'تم إغلاق كل التنبيهات المفتوحة.';
    else $secErr = 'تعذر إغلاق التنبيهات.';
  }
}

$rows = ua_security_alerts_list($conn, 200, null);
$openCount = 0;
foreach ($rows as $r) if ((int)($r['is_open'] ?? 0) === 1) $openCount++;
if ($uaAndroidSecurityAlerts) { require __DIR__ . '/android_security_alerts.php'; require_once __DIR__ . '/footer.php'; return; }
?>
<div class="content-wrapper ua-manual-page">
  <section class="content">
    <div class="container-fluid">
<div class="sec-alerts-page">
  <div class="sec-card sec-head">
    <div>
      <h1 class="sec-title">سجل تنبيهات أمان لوحة الإدارة</h1>
      <div class="sec-sub">يعرض محاولات الدخول غير المصرّح أو المتكررة إلى لوحة الإدارة، بدون حذف السجل عند إغلاق التنبيه.</div>
    </div>
    <div class="sec-actions">
      <span class="sec-pill">المفتوحة: <?= (int)$openCount ?></span>
      <?php if ($openCount > 0): ?>
      <form method="post" onsubmit="return confirm('إغلاق كل تنبيهات الأمان المفتوحة؟')">
        <input type="hidden" name="act" value="close_all">
        <button class="sec-btn gold" type="submit">إغلاق كل المفتوح</button>
      </form>
      <?php endif; ?>
    </div>
  </div>

  <?php if ($secMsg): ?><div class="sec-msg ok"><?= h($secMsg) ?></div><?php endif; ?>
  <?php if ($secErr): ?><div class="sec-msg err"><?= h($secErr) ?></div><?php endif; ?>

  <div class="sec-card">
    <div class="sec-table-wrap">
      <table class="sec-table">
        <thead>
          <tr>
            <th>#</th><th>الحالة</th><th>الشدة</th><th>العنوان</th><th>التفاصيل</th><th>المستخدم</th><th>IP</th><th>المحاولات</th><th>آخر ظهور</th><th>User Agent</th><th>إجراء</th>
          </tr>
        </thead>
        <tbody>
        <?php if (!$rows): ?>
          <tr><td colspan="11" class="sec-muted">لا توجد تنبيهات أمان مسجلة حالياً.</td></tr>
        <?php else: foreach ($rows as $r): ?>
          <?php
            $sev = (string)($r['severity'] ?? 'warn');
            if (!in_array($sev, ['danger','warn','info'], true)) $sev = 'warn';
            $isOpen = (int)($r['is_open'] ?? 0) === 1;
          ?>
          <tr>
            <td><?= (int)$r['id'] ?></td>
            <td><span class="sec-state <?= $isOpen ? 'open' : 'closed' ?>"><?= $isOpen ? 'مفتوح' : 'مغلق' ?></span></td>
            <td><span class="sec-sev <?= h($sev) ?>"><?= h($sev) ?></span></td>
            <td><?= h($r['title'] ?? 'تنبيه أمان') ?></td>
            <td class="sec-message"><?= h($r['message'] ?? '') ?></td>
            <td><?= h($r['username'] ?? '') ?></td>
            <td class="sec-ltr"><?= h($r['ip_address'] ?? '') ?></td>
            <td><?= (int)($r['hit_count'] ?? 1) ?></td>
            <td class="sec-ltr"><?= h($r['last_seen_at'] ?? '') ?></td>
            <td class="sec-ltr ua-u-one-line-260" title="<?= h($r['user_agent'] ?? '') ?>"><?= h($r['user_agent'] ?? '') ?></td>
            <td>
              <?php if ($isOpen): ?>
              <form method="post" class="ua-u-inline">
                <input type="hidden" name="act" value="close_one">
                <input type="hidden" name="id" value="<?= (int)$r['id'] ?>">
                <button class="sec-btn gray" type="submit">إغلاق</button>
              </form>
              <?php else: ?>
                <span class="sec-muted">—</span>
              <?php endif; ?>
            </td>
          </tr>
        <?php endforeach; endif; ?>
        </tbody>
      </table>
    </div>
  </div>
</div>
    </div>
  </section>
</div>
<?php require_once __DIR__ . '/footer.php'; ?>
