<?php
require __DIR__ . '/../app/bootstrap.php';
auth_require();

// Admin only
if (!auth_is_admin()) {
  http_response_code(403);
  die('Forbidden');
}

function table_exists(string $table): bool {
  $db = app_config('DB_DATABASE');
  $row = db_one(
    "SELECT COUNT(*) AS c FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=? AND TABLE_NAME=?",
    [$db, $table]
  );
  return intval($row['c'] ?? 0) > 0;
}

$log = [];
$ok = false;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  csrf_check();

  if (!table_exists('permissions')) {
    $log[] = "الجدول permissions غير موجود. تأكد من تطبيق schema الأساسية.";
    $ok = true;
  } else {
    $items = [
      ['export_oases_xlsx', 'Excel', 'تصدير الواحات Excel', 'تصدير قائمة الواحات إلى ملف Excel (XLSX).'],
      ['export_aflaj_xlsx', 'Excel', 'تصدير الأفلاج Excel', 'تصدير قائمة الأفلاج إلى ملف Excel (XLSX).'],
      ['export_farms_xlsx', 'Excel', 'تصدير المزارع Excel', 'تصدير قائمة المزارع إلى ملف Excel (XLSX).'],
      ['export_assets_xlsx', 'Excel', 'تصدير الأصول Excel', 'تصدير قائمة الأصول إلى ملف Excel (XLSX).'],
      ['export_maintenance_xlsx', 'Excel', 'تصدير الصيانة Excel', 'تصدير قائمة طلبات الصيانة إلى ملف Excel (XLSX).'],
    ];

    foreach ($items as $it) {
      // Upsert
      db_exec(
        "INSERT INTO permissions (perm_key, perm_group, label, description, created_at)
         VALUES (?,?,?,?,?)
         ON DUPLICATE KEY UPDATE perm_group=VALUES(perm_group), label=VALUES(label), description=VALUES(description)",
        [$it[0], $it[1], $it[2], $it[3], now_dt()]
      );
      $log[] = "تمت إضافة/تحديث صلاحية: {$it[0]}";
    }

    $ok = true;
  }
}
?>
<!doctype html>
<html lang="ar" dir="rtl">
<head>
  <meta charset="utf-8">
  <title>ترقية قاعدة البيانات v0.3.7.0</title>
  <link rel="stylesheet" href="<?= e(url('/assets/app.css')) ?>">
</head>
<body class="app">
  <div class="container">
    <h2>ترقية قاعدة البيانات إلى v0.3.7.0</h2>
    <p class="muted">هذه الترقية تضيف صلاحيات التصدير إلى Excel ضمن جدول <b>permissions</b>.</p>

    <?php if ($ok): ?>
      <div class="alert ok">تم تنفيذ الترقية.</div>
      <ul>
        <?php foreach ($log as $x): ?>
          <li><?= e($x) ?></li>
        <?php endforeach; ?>
      </ul>
      <p><a class="btn" href="<?= e(url('/index.php?page=dashboard')) ?>">العودة للوحة التحكم</a></p>
    <?php else: ?>
      <form method="post">
        <input type="hidden" name="_csrf" value="<?= e(csrf_token()) ?>">
        <button class="btn primary" type="submit">تطبيق الترقية</button>
        <a class="btn" href="<?= e(url('/index.php?page=dashboard')) ?>">إلغاء</a>
      </form>
    <?php endif; ?>
  </div>
</body>
</html>
