<?php
require_once __DIR__ . '/../../config/constants.php';
require_once __DIR__ . '/../../config/database.php';
require_once __DIR__ . '/../../includes/auth.php';
require_once __DIR__ . '/../../includes/rbac.php';
require_once __DIR__ . '/../../includes/functions.php';
require_once __DIR__ . '/../../includes/layout.php';
require_once __DIR__ . '/../../includes/sidebar_helper.php';

requireLogin(); requireRole(ROLE_LAWYER);
$GLOBALS['BASE_URL_CSS'] = BASE_URL . '/public/assets/css/main.css';
$user = currentUser(); $pdo = db();

$profile = (function() use ($pdo,$user) {
    $s = $pdo->prepare("SELECT * FROM lawyer_profiles WHERE user_id=?");
    $s->execute([$user['id']]); return $s->fetch();
})();

$error = $success = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $uploads = [];
    $fields  = ['professional_card'=>'professional_card','accreditation_doc'=>'accreditation_doc','id_card'=>'id_card'];
    foreach ($fields as $field => $dbCol) {
        if (!empty($_FILES[$field]['name'])) {
            $res = uploadFile($_FILES[$field], 'lawyer-docs');
            if (!$res['success']) { $error = $res['message']; break; }
            $uploads[$dbCol] = $res['path'];
        }
    }
    if (!$error) {
        if ($uploads) {
            $setClauses = implode(',', array_map(fn($k) => "$k=?", array_keys($uploads)));
            $vals = array_values($uploads);
            $vals[] = $user['id'];
            $pdo->prepare("UPDATE lawyer_profiles SET $setClauses, review_status='pending', submission_count=submission_count+1 WHERE user_id=?")->execute($vals);
        }
        $pdo->prepare("UPDATE users SET status='pending' WHERE id=?")->execute([$user['id']]);
        $success = 'تم رفع الوثائق بنجاح. حسابك الآن قيد المراجعة.';
        $profile = (function() use ($pdo,$user) { $s=$pdo->prepare("SELECT * FROM lawyer_profiles WHERE user_id=?"); $s->execute([$user['id']]); return $s->fetch(); })();
    }
}

$isPending  = in_array($user['status'] ?? 'active', ['pending','rejected']);
$notifCount = getUnreadNotifCount($user['id']);
renderHead('رفع الوثائق');
?>
<div class="sidebar" id="sidebar"><?php buildSidebar('documents','lawyer'); ?></div>
<div class="sidebar-overlay" id="sidebarOverlay"></div>
<div class="main-wrap">
<?php renderTopbar('وثائقي المهنية', $notifCount); ?>
<div class="page-content">

  <!-- Status banner -->
  <?php if ($isPending): ?>
  <div class="alert d-flex align-items-center gap-3 mb-4" style="border-radius:14px;padding:20px 24px;
    <?= ($user['status']==='rejected')
      ? 'background:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.3)'
      : 'background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.3)' ?>">
    <i class="bi bi-<?= ($user['status']==='rejected') ? 'x-octagon-fill' : 'hourglass-split' ?>"
       style="font-size:28px;color:<?= ($user['status']==='rejected') ? '#f87171' : 'var(--gold)' ?>;flex-shrink:0"></i>
    <div>
      <?php if ($user['status']==='rejected'): ?>
        <div style="font-size:16px;font-weight:700;color:#f87171;margin-bottom:4px">تم رفض وثائقك</div>
        <?php if ($profile && $profile['rejection_reason']): ?>
        <div style="font-size:13px;margin-bottom:8px">السبب: <?= htmlspecialchars($profile['rejection_reason']) ?></div>
        <?php endif; ?>
        <div style="font-size:13px">يمكنك إعادة رفع وثائقك المصححة من خلال النموذج أدناه.</div>
      <?php else: ?>
        <div style="font-size:16px;font-weight:700;color:var(--gold);margin-bottom:4px">حسابك قيد المراجعة</div>
        <div style="font-size:13px">
          <?php if ($profile && $profile['professional_card']): ?>
          ✅ تم استلام وثائقك. ننتظر مراجعة المدير وسيتم إشعارك بالنتيجة قريباً.
          <?php else: ?>
          يرجى رفع وثائقك المهنية أدناه لإتمام التسجيل والحصول على الموافقة.
          <?php endif; ?>
        </div>
      <?php endif; ?>
    </div>
  </div>
  <?php elseif ($profile): ?>
  <?php $rStat=['pending'=>['في الانتظار','warning','hourglass-split'],'under_review'=>['قيد المراجعة','info','search'],'approved'=>['تم القبول','success','check-circle-fill'],'rejected'=>['تم الرفض','danger','x-octagon-fill']][$profile['review_status']]??['غير محدد','secondary','question']; ?>
  <div class="alert alert-<?= $rStat[1] ?> d-flex align-items-center gap-3 mb-4">
    <i class="bi bi-<?= $rStat[2] ?>" style="font-size:22px"></i>
    <div>
      <strong>حالة وثائقك: <?= $rStat[0] ?></strong>
      <?php if ($profile['review_status']==='rejected' && $profile['rejection_reason']): ?>
      <br><span style="font-size:13px">سبب الرفض: <?= htmlspecialchars($profile['rejection_reason']) ?></span>
      <?php endif; ?>
      <?php if ($profile['submission_count'] > 1): ?>
      <br><small>عدد مرات التقديم: <?= $profile['submission_count'] ?></small>
      <?php endif; ?>
    </div>
  </div>
  <?php endif; ?>

  <?php if ($error):   ?><div class="alert alert-danger mb-3"><i class="bi bi-exclamation-triangle-fill me-2"></i><?= htmlspecialchars($error) ?></div><?php endif; ?>
  <?php if ($success): ?><div class="alert alert-success mb-3"><i class="bi bi-check-circle-fill me-2"></i><?= htmlspecialchars($success) ?></div><?php endif; ?>

  <div class="row g-3">
    <div class="col-lg-7">
      <div class="panel">
        <div class="panel-header"><div class="panel-title"><i class="bi bi-file-earmark-arrow-up"></i> رفع الوثائق المطلوبة</div></div>
        <div class="panel-body">
          <form method="POST" enctype="multipart/form-data">
            <p class="form-section-title"><i class="bi bi-file-earmark-person"></i> البطاقة المهنية</p>
            <div class="upload-zone mb-4">
              <i class="bi bi-file-earmark-image"></i>
              <p><strong>اسحب الملف هنا</strong> أو انقر للاختيار<br><small>PDF أو صورة — حتى 5 ميغا</small></p>
              <input type="file" name="professional_card" accept=".pdf,.jpg,.jpeg,.png" style="display:none">
            </div>
            <?php if ($profile && $profile['professional_card']): ?>
            <div class="alert alert-navy mb-3" style="font-size:13px"><i class="bi bi-check-circle text-gold me-2"></i> البطاقة المهنية مرفوعة — <a href="../../public/assets/uploads/<?= htmlspecialchars($profile['professional_card']) ?>" target="_blank" class="text-gold">عرض</a></div>
            <?php endif; ?>

            <p class="form-section-title"><i class="bi bi-file-earmark-check"></i> شهادة الاعتماد</p>
            <div class="upload-zone mb-4">
              <i class="bi bi-file-earmark-text"></i>
              <p><strong>اسحب الملف هنا</strong> أو انقر للاختيار<br><small>PDF أو صورة — حتى 5 ميغا</small></p>
              <input type="file" name="accreditation_doc" accept=".pdf,.jpg,.jpeg,.png" style="display:none">
            </div>
            <?php if ($profile && $profile['accreditation_doc']): ?>
            <div class="alert alert-navy mb-3" style="font-size:13px"><i class="bi bi-check-circle text-gold me-2"></i> شهادة الاعتماد مرفوعة — <a href="../../public/assets/uploads/<?= htmlspecialchars($profile['accreditation_doc']) ?>" target="_blank" class="text-gold">عرض</a></div>
            <?php endif; ?>

            <p class="form-section-title"><i class="bi bi-person-vcard"></i> بطاقة الهوية (اختياري)</p>
            <div class="upload-zone mb-4">
              <i class="bi bi-person-bounding-box"></i>
              <p><strong>اسحب الملف هنا</strong> أو انقر للاختيار<br><small>PDF أو صورة — حتى 5 ميغا</small></p>
              <input type="file" name="id_card" accept=".pdf,.jpg,.jpeg,.png" style="display:none">
            </div>

            <button type="submit" class="btn btn-gold btn-lg w-100"><i class="bi bi-cloud-upload"></i> رفع الوثائق وتقديم الطلب</button>
          </form>
        </div>
      </div>
    </div>
    <div class="col-lg-5">
      <div class="panel">
        <div class="panel-header"><div class="panel-title"><i class="bi bi-info-circle"></i> تعليمات الرفع</div></div>
        <div class="panel-body" style="font-size:14px">
          <div class="d-flex gap-3 mb-3"><div style="width:32px;height:32px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy);flex-shrink:0">1</div><div><strong>البطاقة المهنية</strong><p class="text-muted mb-0">نسخة واضحة من بطاقة المحامي الصادرة عن هيئة المحامين</p></div></div>
          <div class="d-flex gap-3 mb-3"><div style="width:32px;height:32px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--navy);flex-shrink:0">2</div><div><strong>شهادة الاعتماد</strong><p class="text-muted mb-0">وثيقة الاعتماد المهني السارية المفعول</p></div></div>
          <div class="d-flex gap-3 mb-4"><div style="width:32px;height:32px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--gold);flex-shrink:0">3</div><div><strong>الصيغ المقبولة</strong><p class="text-muted mb-0">PDF, JPG, PNG — الحجم الأقصى 5 ميغا لكل ملف</p></div></div>
          <div class="alert alert-gold" style="font-size:12px"><i class="bi bi-clock me-2"></i>تستغرق عملية المراجعة عادة من 1 إلى 3 أيام عمل. ستتلقى إشعاراً بالنتيجة.</div>
        </div>
      </div>
    </div>
  </div>
</div></div>
<?php renderFoot(); ?>