<?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_ADMIN);
$GLOBALS['BASE_URL_CSS'] = BASE_URL . '/public/assets/css/main.css';
$user = currentUser(); $pdo = db();

$successMsg = '';
$errorMsg   = '';

// ── معالجة إنشاء حساب أمين الضبط ──
if ($_SERVER['REQUEST_METHOD'] === 'POST' && ($_POST['action'] ?? '') === 'create_clerk') {
    $required = ['full_name','email','phone','password'];
    $missing  = array_filter($required, fn($f) => empty(trim($_POST[$f] ?? '')));
    if ($missing) {
        $errorMsg = 'يرجى ملء جميع الحقول المطلوبة';
    } elseif (strlen($_POST['password']) < 8) {
        $errorMsg = 'كلمة المرور يجب أن تكون 8 أحرف على الأقل';
    } else {
        $result = createClerkAccount([
            'full_name' => trim($_POST['full_name']),
            'email'     => trim($_POST['email']),
            'phone'     => trim($_POST['phone']),
            'password'  => $_POST['password'],
            'status'    => 'active',
        ]);
        if ($result['success']) {
            $successMsg = 'تم إنشاء حساب أمين الضبط بنجاح!';
        } else {
            $errorMsg = $result['message'];
        }
    }
}

// ── معالجة تفعيل/تعطيل ──
if (isset($_GET['toggle'], $_GET['action']) && in_array($_GET['action'], ['active','inactive'])) {
    $toggleId = (int)$_GET['toggle'];
    if ($toggleId !== $user['id']) {
        $pdo->prepare("UPDATE users SET status=? WHERE id=?")->execute([$_GET['action'], $toggleId]);
    }
    header('Location: ' . $_SERVER['PHP_SELF']); exit;
}

$users = $pdo->query("SELECT * FROM users ORDER BY created_at DESC")->fetchAll();
$notifCount = getUnreadNotifCount($user['id']);
renderHead('إدارة المستخدمين');
?>
<div class="sidebar" id="sidebar"><?php buildSidebar('users','admin'); ?></div>
<div class="sidebar-overlay" id="sidebarOverlay"></div>
<div class="main-wrap">
<?php renderTopbar('إدارة المستخدمين', $notifCount); ?>
<div class="page-content">

  <!-- ══ نموذج إنشاء حساب أمين الضبط ══ -->
  <div class="panel mb-4">
    <div class="panel-header" style="cursor:pointer" onclick="toggleClerkForm()" id="clerkFormHeader">
      <div class="panel-title"><i class="bi bi-person-badge"></i> إنشاء حساب أمين ضبط جديد</div>
      <i class="bi bi-chevron-down" id="clerkChevron"></i>
    </div>
    <div id="clerkFormBody" style="display:none;padding:24px">
      <?php if ($successMsg): ?>
      <div class="alert alert-success d-flex align-items-center gap-2 mb-3" style="border-radius:10px">
        <i class="bi bi-check-circle-fill"></i><?= htmlspecialchars($successMsg) ?>
      </div>
      <?php endif; ?>
      <?php if ($errorMsg): ?>
      <div class="alert alert-danger d-flex align-items-center gap-2 mb-3" style="border-radius:10px">
        <i class="bi bi-exclamation-triangle-fill"></i><?= htmlspecialchars($errorMsg) ?>
      </div>
      <?php endif; ?>
      <form method="POST">
        <input type="hidden" name="action" value="create_clerk">
        <div class="row g-3">
          <div class="col-md-6">
            <label class="form-label fw-semibold" style="font-size:13px">الاسم الكامل *</label>
            <input type="text" name="full_name" class="form-control" value="<?= htmlspecialchars($_POST['full_name'] ?? '') ?>" placeholder="أمين الضبط الكامل" required>
          </div>
          <div class="col-md-6">
            <label class="form-label fw-semibold" style="font-size:13px">البريد الإلكتروني *</label>
            <input type="email" name="email" class="form-control" value="<?= htmlspecialchars($_POST['email'] ?? '') ?>" placeholder="clerk@court.dz" required>
          </div>
          <div class="col-md-6">
            <label class="form-label fw-semibold" style="font-size:13px">رقم الهاتف *</label>
            <input type="tel" name="phone" class="form-control" value="<?= htmlspecialchars($_POST['phone'] ?? '') ?>" placeholder="0550000000" required>
          </div>
          <div class="col-md-6">
            <label class="form-label fw-semibold" style="font-size:13px">كلمة المرور * <small class="text-muted">(8 أحرف على الأقل)</small></label>
            <input type="password" name="password" class="form-control" placeholder="••••••••" required>
          </div>
          <div class="col-12">
            <button type="submit" class="btn btn-warning fw-bold px-4" style="background:#C9A84C;border:none;color:#0A1628">
              <i class="bi bi-person-plus"></i> إنشاء الحساب
            </button>
          </div>
        </div>
      </form>
    </div>
  </div>

  <!-- ══ جدول المستخدمين ══ -->
  <div class="panel">
    <div class="panel-header">
      <div class="panel-title"><i class="bi bi-people"></i> جميع المستخدمين (<?= count($users) ?>)</div>
    </div>
    <div class="table-responsive"><table class="table dt-table">
      <thead><tr><th>الاسم</th><th>البريد الإلكتروني</th><th>الدور</th><th>الحالة</th><th>آخر دخول</th><th>تاريخ الإنشاء</th><th>الإجراءات</th></tr></thead>
      <tbody>
      <?php foreach ($users as $u):
        $roleLabel = ['admin'=>'مدير','clerk'=>'أمين الضبط','lawyer'=>'محامي'][$u['role']] ?? $u['role'];
        $statusMap = ['active'=>['نشط','success'],'inactive'=>['معطل','secondary'],'pending'=>['في الانتظار','warning'],'rejected'=>['مرفوض','danger']][$u['status']] ?? [$u['status'],'secondary'];
      ?>
      <tr>
        <td><strong><?= htmlspecialchars($u['full_name']) ?></strong></td>
        <td><?= htmlspecialchars($u['email']) ?></td>
        <td><span class="badge bg-navy"><?= $roleLabel ?></span></td>
        <td><span class="badge bg-<?= $statusMap[1] ?>"><?= $statusMap[0] ?></span></td>
        <td style="font-size:12px;color:var(--text-muted)"><?= $u['last_login'] ? date('d/m/Y H:i',strtotime($u['last_login'])) : '—' ?></td>
        <td style="font-size:12px"><?= date('d/m/Y',strtotime($u['created_at'])) ?></td>
        <td>
          <?php if ($u['status'] === 'active' && $u['id'] !== $user['id']): ?>
          <a href="?toggle=<?= $u['id'] ?>&action=inactive" class="action-btn danger" title="تعطيل" data-confirm="هل تريد تعطيل هذا المستخدم؟"><i class="bi bi-person-slash"></i></a>
          <?php elseif ($u['status'] === 'inactive'): ?>
          <a href="?toggle=<?= $u['id'] ?>&action=active" class="action-btn success" title="تفعيل"><i class="bi bi-person-check"></i></a>
          <?php endif; ?>
        </td>
      </tr>
      <?php endforeach; ?>
      </tbody>
    </table></div>
  </div>
</div></div>

<script>
function toggleClerkForm() {
  var body = document.getElementById('clerkFormBody');
  var chev = document.getElementById('clerkChevron');
  var open = body.style.display !== 'none';
  body.style.display = open ? 'none' : 'block';
  chev.className = open ? 'bi bi-chevron-down' : 'bi bi-chevron-up';
}
// إذا كان هناك خطأ أو نجاح، افتح النموذج تلقائياً
<?php if ($errorMsg || $successMsg): ?>
document.addEventListener('DOMContentLoaded', function(){ toggleClerkForm(); });
<?php endif; ?>
</script>
<?php renderFoot(); ?>