<?php
ob_start();
require_once dirname(__DIR__) . '/agent_portal_lib.php';
require_once dirname(__DIR__) . '/agent_edit_request_lib.php';
if (ob_get_length()) ob_clean();
header('Content-Type: application/json; charset=utf-8');
$conn = ensure_db(true);
$ctx = agent_portal_boot($conn);
$agentId = (int)($ctx['agent_id'] ?? 0);
$logged = !empty($ctx['logged']);
$token = strtolower(trim((string)($_GET['token'] ?? '')));
if (!$logged || $agentId <= 0) {
  http_response_code(403);
  echo json_encode(['ok'=>false,'message'=>'يجب تسجيل دخول المعتمد.'], JSON_UNESCAPED_UNICODE);
  exit;
}
$row = ua_agent_edit_request_find($conn, $token, $agentId, 0);
if (!$row) {
  http_response_code(404);
  echo json_encode(['ok'=>false,'message'=>'طلب التعديل غير موجود.'], JSON_UNESCAPED_UNICODE);
  exit;
}
$status = (string)$row['status'];
$granted = $status === 'APPROVED' && !empty($row['expires_at']) && strtotime((string)$row['expires_at']) >= time();
$scope = (string)($row['request_scope'] ?? 'SUBSCRIBER');
echo json_encode([
  'ok'=>true,
  'status'=>$status,
  'scope'=>$scope,
  'granted'=>$granted,
  'message'=>$status === 'PENDING'
    ? 'طلبك بانتظار موافقة الإدارة.'
    : ($granted
      ? ($scope === 'PORTAL_EDIT' ? 'تمت الموافقة. جارٍ فتح شريط البحث.' : 'تمت الموافقة. يمكنك فتح التعديل الآن.')
      : ($status === 'REJECTED' ? 'تم رفض طلب التعديل.' : 'انتهت صلاحية الموافقة.')),
  'portal_url'=>$granted && $scope === 'PORTAL_EDIT'
    ? ('agent_portal.php?agent='.(int)$agentId.'&view=edit&edit_request_token='.rawurlencode($token))
    : '',
  'edit_url'=>$granted && $scope !== 'PORTAL_EDIT'
    ? ('subscribers_edit.php?id='.(int)$row['subscriber_id'].'&agent='.(int)$agentId.'&agent_edit_token='.rawurlencode($token))
    : '',
], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
