<?php
require_once "auth/auth_check.php";
require_once "auth/config.php";

$message = "";

// === ADD TEACHER ===
if (isset($_POST['add_teacher'])) {
    $name = mysqli_real_escape_string($conn, $_POST['name']);
    $class = mysqli_real_escape_string($conn, $_POST['class']);
    $phone = mysqli_real_escape_string($conn, $_POST['phone']);
    $photo = "";

    if (!empty($_FILES['photo']['name'])) {
        $target_dir = "..uploads/teachers/";
        if (!is_dir($target_dir)) mkdir($target_dir, 0777, true);
        $photo_name = time() . "_" . basename($_FILES["photo"]["name"]);
        $target_file = $target_dir . $photo_name;
        $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
        $allowed = ['jpg', 'jpeg', 'png', 'gif'];

        if (in_array($imageFileType, $allowed)) {
            move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file);
            $photo = $photo_name;
        }
    }

    $insert = mysqli_query($conn, "INSERT INTO teachers (name, class, phone, photo, created_at) VALUES ('$name','$class','$phone','$photo',NOW())");
    $message = $insert ? "<div class='alert alert-success py-2'>✅ Teacher added successfully!</div>"
                       : "<div class='alert alert-danger py-2'>❌ Error adding teacher!</div>";
}

// === UPDATE TEACHER ===
if (isset($_POST['update_teacher'])) {
    $id = $_POST['id'];
    $name = mysqli_real_escape_string($conn, $_POST['name']);
    $class = mysqli_real_escape_string($conn, $_POST['class']);
    $phone = mysqli_real_escape_string($conn, $_POST['phone']);
    $update = "UPDATE teachers SET name='$name', class='$class', phone='$phone'";

    if (!empty($_FILES['photo']['name'])) {
        $target_dir = "..uploads/teachers/";
        $photo_name = time() . "_" . basename($_FILES["photo"]["name"]);
        $target_file = $target_dir . $photo_name;
        move_uploaded_file($_FILES["photo"]["tmp_name"], $target_file);
        $update .= ", photo='$photo_name'";
    }

    $update .= " WHERE id='$id'";
    $done = mysqli_query($conn, $update);
    $message = $done ? "<div class='alert alert-success py-2'>✅ Updated successfully!</div>"
                     : "<div class='alert alert-danger py-2'>❌ Update failed!</div>";
}

// === DELETE TEACHER ===
if (isset($_POST['delete_teacher'])) {
    $id = $_POST['id'];
    $delete = mysqli_query($conn, "DELETE FROM teachers WHERE id='$id'");
    $message = $delete ? "<div class='alert alert-success py-2'>🗑️ Deleted successfully!</div>"
                       : "<div class='alert alert-danger py-2'>❌ Delete failed!</div>";
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Manage Teachers</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body { background: #f8f9fa; font-family: 'Poppins', sans-serif; }
.container { max-width: 900px; }
img.rounded-circle { object-fit: cover; width: 45px; height: 45px; }
@media (max-width: 768px) {
  table { font-size: 0.85rem; }
  th, td { padding: 6px; }
}
</style>
</head>
<body>

<div class="container mt-4 mb-5">
  <h4 class="text-center mb-3 text-primary fw-bold">👩‍🏫 Manage Class Teachers</h4>

  <?= $message; ?>

  <!-- ADD TEACHER FORM -->
  <div class="card shadow-sm mb-4">
    <div class="card-body">
      <h6 class="fw-bold mb-2 text-secondary">Add New Teacher</h6>
      <form method="POST" enctype="multipart/form-data" class="row g-2">
        <input type="hidden" name="add_teacher" value="1">
        <div class="col-md-6">
          <input type="text" name="name" class="form-control form-control-sm" placeholder="Full Name" required>
        </div>
        <div class="col-md-3">
          <select name="class" class="form-select form-select-sm" required>
            <option value="">Select Class</option>
            <?php
              $classes = mysqli_query($conn, "SELECT DISTINCT class FROM students ORDER BY class ASC");
              while ($c = mysqli_fetch_assoc($classes)) echo "<option value='{$c['class']}'>{$c['class']}</option>";
            ?>
          </select>
        </div>
        <div class="col-md-3">
          <input type="text" name="phone" class="form-control form-control-sm" placeholder="Phone" required>
        </div>
        <div class="col-8 col-md-9">
          <input type="file" name="photo" accept="image/*" capture="camera" class="form-control form-control-sm">
        </div>
        <div class="col-4 col-md-3 text-end">
          <button type="submit" class="btn btn-sm btn-primary w-100">Save</button>
        </div>
      </form>
    </div>
  </div>

  <!-- TEACHERS LIST -->
  <div class="card shadow-sm">
    <div class="card-body">
      <h6 class="fw-bold text-secondary mb-3">Teachers List</h6>
      <div class="table-responsive">
        <table class="table table-striped align-middle text-center">
          <thead class="table-primary">
            <tr>
              <th>#</th>
              <th>Photo</th>
              <th>Name</th>
              <th>Class</th>
              <th>Phone</th>
              <th>Actions</th>
            </tr>
          </thead>
          <tbody>
          <?php
          $res = mysqli_query($conn, "SELECT * FROM teachers ORDER BY id DESC");
          if (mysqli_num_rows($res) > 0) {
              while ($t = mysqli_fetch_assoc($res)) {
                  $img = $t['photo'] ? "..uploads/teachers/".$t['photo'] : "https://via.placeholder.com/45";
                  $json = htmlspecialchars(json_encode($t), ENT_QUOTES);
                  echo "
                  <tr>
                    <td>{$t['id']}</td>
                    <td><img src='$img' class='rounded-circle'></td>
                    <td>{$t['name']}</td>
                    <td>{$t['class']}</td>
                    <td>{$t['phone']}</td>
                    <td>
                      <button class='btn btn-sm btn-outline-primary me-1' onclick='viewTeacher($json)'><i class='bi bi-eye'></i></button>
                      <button class='btn btn-sm btn-outline-success me-1' onclick='editTeacher($json)'><i class='bi bi-pencil-square'></i></button>
                      <button class='btn btn-sm btn-outline-danger' onclick='confirmDelete({$t['id']})'><i class='bi bi-trash'></i></button>
                    </td>
                  </tr>";
              }
          } else {
              echo "<tr><td colspan='6' class='text-muted'>No teachers added yet.</td></tr>";
          }
          ?>
          </tbody>
        </table>
      </div>
    </div>
  </div>
</div>

<!-- VIEW MODAL -->
<div class="modal fade" id="viewModal" tabindex="-1">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header"><h6 class="modal-title">Teacher Details</h6>
        <button type="button" class="btn-close" data-bs-dismiss="modal"></button></div>
      <div class="modal-body" id="viewDetails"></div>
    </div>
  </div>
</div>

<!-- EDIT MODAL -->
<div class="modal fade" id="editModal" tabindex="-1">
  <div class="modal-dialog">
    <form method="POST" enctype="multipart/form-data" class="modal-content">
      <div class="modal-header"><h6 class="modal-title">Edit Teacher</h6>
        <button type="button" class="btn-close" data-bs-dismiss="modal"></button></div>
      <div class="modal-body">
        <input type="hidden" name="update_teacher" value="1">
        <input type="hidden" name="id" id="edit_id">
        <div class="mb-2">
          <label class="form-label small">Full Name</label>
          <input type="text" name="name" id="edit_name" class="form-control form-control-sm" required>
        </div>
        <div class="mb-2">
          <label class="form-label small">Class</label>
          <input type="text" name="class" id="edit_class" class="form-control form-control-sm" required>
        </div>
        <div class="mb-2">
          <label class="form-label small">Phone</label>
          <input type="text" name="phone" id="edit_phone" class="form-control form-control-sm" required>
        </div>
        <div class="mb-2">
          <label class="form-label small">Photo</label>
          <input type="file" name="photo" accept="image/*" capture="camera" class="form-control form-control-sm">
        </div>
      </div>
      <div class="modal-footer">
        <button class="btn btn-sm btn-success">Update</button>
      </div>
    </form>
  </div>
</div>

<!-- DELETE MODAL -->
<div class="modal fade" id="deleteModal" tabindex="-1">
  <div class="modal-dialog modal-sm">
    <form method="POST" class="modal-content">
      <div class="modal-body text-center">
        <input type="hidden" name="delete_teacher" value="1">
        <input type="hidden" name="id" id="delete_id">
        <p class="fw-bold mb-3">Delete this teacher?</p>
        <button class="btn btn-danger btn-sm w-100 mb-2">Yes, Delete</button>
        <button type="button" class="btn btn-secondary btn-sm w-100" data-bs-dismiss="modal">Cancel</button>
      </div>
    </form>
  </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/font/bootstrap-icons.js"></script>
<script>
function viewTeacher(t) {
  const img = t.photo ? "uploads/teachers/"+t.photo : "https://via.placeholder.com/80";
  document.getElementById('viewDetails').innerHTML = `
    <div class='text-center'>
      <img src='${img}' class='rounded-circle mb-2' width='80' height='80'>
      <p><strong>${t.name}</strong><br>Class: ${t.class}<br>Phone: ${t.phone}</p>
    </div>`;
  new bootstrap.Modal(document.getElementById('viewModal')).show();
}
function editTeacher(t) {
  document.getElementById('edit_id').value = t.id;
  document.getElementById('edit_name').value = t.name;
  document.getElementById('edit_class').value = t.class;
  document.getElementById('edit_phone').value = t.phone;
  new bootstrap.Modal(document.getElementById('editModal')).show();
}
function confirmDelete(id) {
  document.getElementById('delete_id').value = id;
  new bootstrap.Modal(document.getElementById('deleteModal')).show();
}
</script>
</body>
</html>