<?php
if (session_status() === PHP_SESSION_NONE) session_start();
require_once __DIR__ . '/helpers.php';
require_once __DIR__ . '/auth.php';
require_once __DIR__ . '/db_bootstrap.php';
require_once __DIR__ . '/subscriber_service_pause_lib.php';

ensure_db(true);
$conn = $GLOBALS['conn'] ?? null;
if (!($conn instanceof mysqli)) { http_response_code(500); exit('Database connection error'); }
require_login('login.php');
if (function_exists('require_perm')) require_perm('can_suspend_subscriber');
billing_accounts_migrate($conn);

$id = (int)($_GET['id'] ?? $_POST['id'] ?? 0);
$subscriber = $id > 0 ? subscriber_service_pause_fetch($conn, $id) : null;
$error = $subscriber ? '' : 'المشترك غير موجود.';
$success = '';
if (empty($_SESSION['subscriber_billing_pause_csrf'])) $_SESSION['subscriber_billing_pause_csrf'] = bin2hex(random_bytes(24));
$csrf = (string)$_SESSION['subscriber_billing_pause_csrf'];

if ($_SERVER['REQUEST_METHOD'] === 'POST' && $subscriber) {
  if (!hash_equals($csrf, (string)($_POST['csrf_token'] ?? ''))) {
    $error = 'انتهت صلاحية الطلب. حدّث الصفحة ثم أعد المحاولة.';
  } else {
    $paused = !empty($_POST['paused']);
    $reason = trim((string)($_POST['reason'] ?? ''));
    $actorId = (int)($_SESSION['admin_id'] ?? ($_SESSION['admin_user_id'] ?? 0));
    $result = subscriber_set_temporary_pause($conn, $id, $paused, $actorId, $reason);
    if (empty($result['ok'])) $error = (string)($result['error'] ?? 'تعذر تعديل حالة الإيقاف المؤقت.');
    else {
      $success = $paused
        ? 'تم إيقاف حساب المشترك ودورة الفوترة مؤقتاً، مع الاحتفاظ بالأرصدة والذمم والفواتير السابقة.'
        : 'تمت إعادة تفعيل المشترك واستئناف دورة الفوترة، مع بقاء الأرصدة والذمم كما هي.';
      $subscriber = subscriber_service_pause_fetch($conn, $id);
    }
  }
}
$isPaused = (int)($subscriber['billing_paused'] ?? 0) === 1;
$creditBalance = $subscriber ? billing_credit_balance($conn, $id) : 0.0;
$outstandingBalance = $subscriber ? billing_subscriber_outstanding($conn, $id) : 0.0;
$page_title = 'الإيقاف المؤقت للمشترك';
$UA_FORCE_DESIGN_V2 = true;
include __DIR__ . '/header.php';
include __DIR__ . '/sidebar.php';
?>
<div class="content-wrapper ua-extracted-page">
  <section class="content-header"><div class="container-fluid"><h1 class="mb-0"><?= $isPaused ? 'إعادة تفعيل المشترك' : 'إيقاف المشترك مؤقتاً' ?></h1></div></section>
  <section class="content"><div class="container-fluid">
    <?php if ($error): ?><div class="alert alert-danger"><?= h($error) ?></div><?php endif; ?>
    <?php if ($success): ?><div class="alert alert-success"><?= h($success) ?></div><?php endif; ?>
    <?php if ($subscriber): ?>
      <div class="card"><div class="card-body">
        <p><strong>المشترك:</strong> <?= h($subscriber['full_name'] ?? '-') ?></p>
        <div class="alert alert-info">
          الإيقاف المؤقت يعطّل حساب الشبكة ويوقف إنشاء الفواتير الجديدة ورسائل التسديد وإجراءات التخفيض والقطع حتى إعادة التفعيل.
          لا يحذف أي فاتورة أو دفعة، ولا يغيّر الرصيد المقدم أو الذمم السابقة.
        </div>
        <div class="row mb-3">
          <div class="col-md-6"><strong>الرصيد المقدم:</strong> <?= number_format($creditBalance, 2) ?></div>
          <div class="col-md-6"><strong>الذمم الحالية:</strong> <?= number_format($outstandingBalance, 2) ?></div>
        </div>
        <form method="post">
          <input type="hidden" name="id" value="<?= $id ?>">
          <input type="hidden" name="csrf_token" value="<?= h($csrf) ?>">
          <input type="hidden" name="paused" value="<?= $isPaused ? '0' : '1' ?>">
          <?php if (!$isPaused): ?><div class="mb-3"><label class="form-label">سبب الإيقاف</label><input class="form-control" name="reason" maxlength="255" placeholder="مثال: طلب المشترك إيقاف الخدمة مؤقتاً"></div><?php endif; ?>
          <button class="btn <?= $isPaused ? 'btn-success' : 'btn-warning' ?>" type="submit" onclick="return confirm('<?= $isPaused ? 'تأكيد إعادة تفعيل حساب المشترك واستئناف فوترته؟' : 'تأكيد إيقاف حساب المشترك وفوترته مؤقتاً مع الاحتفاظ بالأرصدة والذمم؟' ?>');">
            <i class="fa <?= $isPaused ? 'fa-play' : 'fa-pause' ?>"></i>
            <?= $isPaused ? 'إعادة تفعيل المشترك' : 'إيقاف المشترك مؤقتاً' ?>
          </button>
        </form>
      </div></div>
    <?php endif; ?>
  </div></section>
</div>
<?php include __DIR__ . '/footer.php'; ?>
