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

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

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

$log = [];
$ok = false;

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

  // oases
  if (!column_exists('oases','palm_trees_count')) {
    db_exec("ALTER TABLE oases ADD COLUMN palm_trees_count INT NOT NULL DEFAULT 0 AFTER notes");
    $log[] = "تمت إضافة palm_trees_count إلى oases";
  } else {
    $log[] = "palm_trees_count موجود مسبقاً";
  }

  if (!column_exists('oases','falaj_outlets_count')) {
    db_exec("ALTER TABLE oases ADD COLUMN falaj_outlets_count INT NOT NULL DEFAULT 0 AFTER palm_trees_count");
    $log[] = "تمت إضافة falaj_outlets_count إلى oases";
  } else {
    $log[] = "falaj_outlets_count موجود مسبقاً";
  }

  // farms
  if (!column_exists('farms','owner_phone')) {
    db_exec("ALTER TABLE farms ADD COLUMN owner_phone VARCHAR(30) NULL AFTER owner_name");
    $log[] = "تمت إضافة owner_phone إلى farms";
  } else {
    $log[] = "owner_phone موجود مسبقاً";
  }

  if (!column_exists('farms','owner_emirates_id')) {
    db_exec("ALTER TABLE farms ADD COLUMN owner_emirates_id VARCHAR(15) NULL AFTER owner_phone");
    $log[] = "تمت إضافة owner_emirates_id إلى farms";
  } else {
    $log[] = "owner_emirates_id موجود مسبقاً";
  }

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