38457-vm/pengurus.php
Flatlogic Bot 4e3818aac9 SiWarga
2026-02-15 18:49:39 +00:00

152 lines
6.4 KiB
PHP

<?php
require_once __DIR__ . '/layout_header.php';
$db = db();
$message = '';
// Handle Delete
if (isset($_GET['delete'])) {
$id = (int)$_GET['delete'];
$db->prepare("DELETE FROM pengurus WHERE id = ?")->execute([$id]);
$message = '<div class="alert alert-success">Data pengurus berhasil dihapus.</div>';
}
// Handle Add/Edit
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['save_pengurus'])) {
$id = $_POST['id'] ?? null;
$nama = $_POST['nama'];
$jabatan = $_POST['jabatan'];
$telepon = $_POST['telepon'];
$urutan = (int)$_POST['urutan'];
if ($id) {
$stmt = $db->prepare("UPDATE pengurus SET nama=?, jabatan=?, telepon=?, urutan=? WHERE id=?");
$stmt->execute([$nama, $jabatan, $telepon, $urutan, $id]);
$message = '<div class="alert alert-success">Data pengurus berhasil diperbarui.</div>';
} else {
$stmt = $db->prepare("INSERT INTO pengurus (nama, jabatan, telepon, urutan) VALUES (?, ?, ?, ?)");
$stmt->execute([$nama, $jabatan, $telepon, $urutan]);
$message = '<div class="alert alert-success">Pengurus baru berhasil ditambahkan.</div>';
}
}
$pengurus_list = $db->query("SELECT * FROM pengurus ORDER BY urutan ASC")->fetchAll();
?>
<div class="top-bar">
<h1 class="h3 fw-bold m-0">Struktur Kepengurusan RT</h1>
<button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#pengurusModal" onclick="resetForm()">
<i class="bi bi-plus-lg"></i> Tambah Pengurus
</button>
</div>
<?= $message ?>
<div class="row g-4">
<div class="col-md-8">
<div class="card">
<div class="table-responsive">
<table class="table table-hover align-middle">
<thead>
<tr>
<th>Urutan</th>
<th>Jabatan</th>
<th>Nama</th>
<th>Telepon</th>
<th class="text-end">Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($pengurus_list as $p): ?>
<tr>
<td><?= $p['urutan'] ?></td>
<td><span class="fw-bold"><?= htmlspecialchars($p['jabatan']) ?></span></td>
<td><?= htmlspecialchars($p['nama']) ?></td>
<td><?= htmlspecialchars($p['telepon']) ?></td>
<td class="text-end">
<button class="btn btn-sm btn-outline-primary me-1" onclick='editPengurus(<?= json_encode($p) ?>)'>
<i class="bi bi-pencil"></i>
</button>
<a href="?delete=<?= $p['id'] ?>" class="btn btn-sm btn-outline-danger" onclick="return confirm('Yakin ingin menghapus?')">
<i class="bi bi-trash"></i>
</a>
</td>
</tr>
<?php endforeach; ?>
<?php if (empty($pengurus_list)): ?>
<tr>
<td colspan="5" class="text-center py-4 text-muted">Belum ada data pengurus.</td>
</tr>
<?php endif; ?>
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card bg-light border-0">
<h5 class="fw-bold mb-3">Informasi</h5>
<p class="small text-muted">Gunakan urutan untuk mengatur tampilan pengurus di Dashboard. Angka lebih kecil akan muncul lebih atas.</p>
<p class="small text-muted">Contoh: Ketua RT (1), Sekretaris (2), Bendahara (3).</p>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="pengurusModal" tabindex="-1">
<div class="modal-dialog">
<form method="POST" class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modalTitle">Tambah Pengurus</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<input type="hidden" name="id" id="pengurusId">
<div class="mb-3">
<label class="form-label">Nama Lengkap</label>
<input type="text" name="nama" id="pengurusNama" class="form-control" required>
</div>
<div class="mb-3">
<label class="form-label">Jabatan</label>
<input type="text" name="jabatan" id="pengurusJabatan" class="form-control" placeholder="Contoh: Ketua RT" required>
</div>
<div class="mb-3">
<label class="form-label">Telepon</label>
<input type="text" name="telepon" id="pengurusTelepon" class="form-control">
</div>
<div class="mb-3">
<label class="form-label">Urutan Tampil</label>
<input type="number" name="urutan" id="pengurusUrutan" class="form-control" value="0">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
<button type="submit" name="save_pengurus" class="btn btn-primary">Simpan</button>
</div>
</form>
</div>
</div>
<script>
function editPengurus(p) {
document.getElementById('modalTitle').innerText = 'Edit Pengurus';
document.getElementById('pengurusId').value = p.id;
document.getElementById('pengurusNama').value = p.nama;
document.getElementById('pengurusJabatan').value = p.jabatan;
document.getElementById('pengurusTelepon').value = p.telepon;
document.getElementById('pengurusUrutan').value = p.urutan;
new bootstrap.Modal(document.getElementById('pengurusModal')).show();
}
function resetForm() {
document.getElementById('modalTitle').innerText = 'Tambah Pengurus';
document.getElementById('pengurusId').value = '';
document.getElementById('pengurusNama').value = '';
document.getElementById('pengurusJabatan').value = '';
document.getElementById('pengurusTelepon').value = '';
document.getElementById('pengurusUrutan').value = '0';
}
</script>
<?php require_once __DIR__ . '/layout_footer.php'; ?>