<?php
require_once __DIR__ . '/agent_portal_lib.php';
require_once __DIR__ . '/agent_repository.php';

$conn = ensure_db(true);
$ctx = agent_portal_boot($conn);
$agentId = (int)($ctx['agent_id'] ?? 0);
$agent = $ctx['agent'] ?? null;
if (!$agent || empty($ctx['logged'])) {
  header('Location: agent_portal.php' . ($agentId > 0 ? '?agent=' . $agentId : ''));
  exit;
}

$msg = '';
$err = '';
if (($_SERVER['REQUEST_METHOD'] ?? '') === 'POST' && (string)($_POST['action'] ?? '') === 'change_password') {
  if (!ua_csrf_verify()) {
    $err = 'انتهت صلاحية الطلب. أعد تحميل الصفحة وحاول مجدداً.';
  } else {
    $currentPassword = (string)($_POST['current_password'] ?? '');
    $newPassword = (string)($_POST['new_password'] ?? '');
    $confirmPassword = (string)($_POST['confirm_password'] ?? '');
    if ($newPassword !== $confirmPassword) {
      $err = 'تأكيد كلمة المرور الجديدة غير مطابق.';
    } else {
      $result = ua_agent_repo_change_password($conn, $agentId, $currentPassword, $newPassword);
      if (empty($result['ok'])) {
        $err = (string)($result['error'] ?? 'تعذر تحديث كلمة المرور.');
      } else {
        $msg = 'تم تحديث كلمة المرور بنجاح.';
        $agent = ua_agent_repo_get($conn, $agentId) ?: $agent;
        $ctx['agent'] = $agent;
      }
    }
  }
}

agent_portal_render_head('الملف الشخصي للمعتمد');
agent_portal_render_shell_start($conn, $ctx, 'profile');
?>
<?php if ($msg || $err): ?>
  <div class="ua-feedback-stack ap-toast-stack" role="status" aria-live="polite">
    <?php if ($msg): ?><div class="ap-toast ap-toast-success"><?= h($msg) ?></div><?php endif; ?>
    <?php if ($err): ?><div class="ap-toast ap-toast-danger"><?= h($err) ?></div><?php endif; ?>
  </div>
<?php endif; ?>

<section class="ap-profile-page">
  <header class="ap-page-heading">
    <div class="ap-page-heading__icon"><i class="fa fa-id-card-o"></i></div>
    <div><small>AGENT PROFILE</small><h2>الملف الشخصي</h2><p>بيانات حساب المعتمد وإعدادات الدخول الخاصة به.</p></div>
    <a class="ap-btn ap-btn-light" href="agent_portal.php?agent=<?= $agentId ?>"><i class="fa fa-home"></i> الواجهة الرئيسية</a>
  </header>

  <div class="ap-profile-layout">
    <article class="ap-panel ap-card">
      <div class="ap-card-title"><i class="fa fa-user"></i><div><h3>بيانات الحساب</h3><p>البيانات المعتمدة في النسخة الرئيسية.</p></div></div>
      <div class="ap-profile-details">
        <div><span>اسم المعتمد</span><strong><?= h((string)($agent['full_name'] ?? $agent['name'] ?? '—')) ?></strong></div>
        <div><span>اسم المستخدم</span><strong dir="ltr"><?= h((string)($agent['username'] ?? '—')) ?></strong></div>
        <div><span>رقم الهاتف</span><strong dir="ltr"><?= h((string)($agent['phone'] ?? '—')) ?></strong></div>
        <div><span>البريد الإلكتروني</span><strong dir="ltr"><?= h((string)($agent['email'] ?? '—')) ?></strong></div>
        <div><span>المنطقة</span><strong><?= h((string)($agent['area'] ?? '—')) ?></strong></div>
        <div><span>العنوان</span><strong><?= h((string)($agent['address'] ?? '—')) ?></strong></div>
        <div class="ap-profile-details__wide"><span>معرّف النسخة المرتبطة</span><strong dir="ltr"><?= h((string)($agent['linked_instance_id'] ?? '—')) ?></strong></div>
      </div>
    </article>

    <article class="ap-panel ap-card">
      <div class="ap-card-title"><i class="fa fa-key"></i><div><h3>تغيير كلمة المرور</h3><p>تُستخدم كلمة المرور الجديدة في تسجيل دخول المعتمد.</p></div></div>
      <form method="post" class="ap-form-grid ap-profile-password" autocomplete="off">
        <?php ua_csrf_field(); ?>
        <input type="hidden" name="action" value="change_password">
        <div class="ap-field ap-field-full"><label for="profileCurrentPassword">كلمة المرور الحالية</label><input class="form-control" id="profileCurrentPassword" name="current_password" type="password" autocomplete="current-password" required></div>
        <div class="ap-field"><label for="profileNewPassword">كلمة المرور الجديدة</label><input class="form-control" id="profileNewPassword" name="new_password" type="password" minlength="8" autocomplete="new-password" required></div>
        <div class="ap-field"><label for="profileConfirmPassword">تأكيد كلمة المرور</label><input class="form-control" id="profileConfirmPassword" name="confirm_password" type="password" minlength="8" autocomplete="new-password" required></div>
        <div class="ap-form-actions ap-field-full"><button class="ap-btn ap-btn-primary" type="submit"><i class="fa fa-save"></i> حفظ كلمة المرور</button></div>
      </form>
    </article>
  </div>
</section>

<?php agent_portal_render_shell_end(); ?>
