Submit
Path:
~
/
home
/
ampckwxt
/
.trash
/
admin
/
File Content:
all_data.php
<?php session_start(); include '../includes/koneksi.php'; // Cek session login admin if (!isset($_SESSION['id_admin'])) { header("Location: index.php"); exit; } $id_admin = $_SESSION['id_admin']; $data_admin = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM data_admin WHERE id_admin = $id_admin")); // Ambil data member dengan pagination $limit = 10; // Jumlah data per halaman $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; $offset = ($page - 1) * $limit; // Filter berdasarkan username atau jenis cheat $search = isset($_GET['search']) ? mysqli_real_escape_string($conn, $_GET['search']) : ''; $filter_query = "WHERE username LIKE '%$search%' OR jenis_cheat LIKE '%$search%' OR nomor_telepon LIKE '%$search%'"; // Ambil data member $query = "SELECT * FROM data_member $filter_query LIMIT $limit OFFSET $offset"; $result = mysqli_query($conn, $query); // Hitung jumlah data member untuk pagination $total_query = "SELECT COUNT(*) as total FROM data_member $filter_query"; $total_result = mysqli_query($conn, $total_query); $total_data = mysqli_fetch_assoc($total_result)['total']; $total_pages = ceil($total_data / $limit); // Menentukan batas halaman untuk ditampilkan di pagination $range = 3; // Menampilkan 3 halaman sebelumnya dan sesudahnya $start_page = max(1, $page - $range); $end_page = min($total_pages, $page + $range); // Menentukan apakah perlu menampilkan "..." $show_previous_dots = $start_page > 1; $show_next_dots = $end_page < $total_pages; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Kelola Member</title> <link href="adminlte/plugins/fontawesome-free/css/all.min.css" rel="stylesheet"> <link href="adminlte/dist/css/adminlte.min.css" rel="stylesheet"> <link href="adminlte/plugins/overlayScrollbars/css/OverlayScrollbars.min.css" rel="stylesheet"> <!-- SweetAlert2 --> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <style> /* Style untuk toggle switch */ .toggle-switch { position: relative; display: inline-block; width: 60px; height: 34px; } .toggle-switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; background-color: #ccc; top: 0; left: 0; right: 0; bottom: 0; transition: 0.4s; border-radius: 34px; } .slider::before { position: absolute; content: ""; height: 26px; width: 26px; left: 4px; bottom: 4px; background-color: white; transition: 0.4s; border-radius: 50%; } .toggle-switch input:checked + .slider { background-color: #28a745; } .toggle-switch input:checked + .slider::before { transform: translateX(26px); } .toggle-label { margin-left: 10px; font-weight: bold; transition: color 0.4s; color: #dc3545; } </style> <style> #progressContainer { width: 100%; background-color: #e9ecef; border-radius: 30px; overflow: hidden; margin-bottom: 20px; display: none; } #progressBar { width: 0%; height: 30px; background: linear-gradient(90deg, #28a745, #218838); text-align: center; line-height: 30px; color: white; font-weight: bold; transition: width 0.1s ease-in-out; border-radius: 30px; font-size: 14px; } </style> </head> <body class="hold-transition sidebar-mini layout-fixed"> <div class="wrapper"> <!-- Navbar --> <nav class="main-header navbar navbar-expand navbar-white navbar-light"> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" data-widget="pushmenu" href="#"><i class="fas fa-bars"></i></a> </li> <li class="nav-item"> <a href="dashboard_admin.php" class="nav-link">Dashboard</a> </li> <li class="nav-item"> <a href="kelola_member.php" class="nav-link active">Semua Data Member</a> </li> <li class="nav-item"> <a href="logout.php" class="nav-link">Logout</a> </li> </ul> </nav> <!-- Sidebar --> <aside class="main-sidebar sidebar-dark-primary elevation-4"> <a href="dashboard_admin.php" class="brand-link"> <img src="adminlte/dist/img/AdminLTELogo.png" class="brand-image img-circle elevation-3"> <span class="brand-text font-weight-light">Admin Panel</span> </a> <div class="sidebar"> <nav class="mt-2"> <ul class="nav nav-pills nav-sidebar flex-column"> <li class="nav-item"> <a href="kelola_member.php" class="nav-link"> <i class="nav-icon fas fa-users"></i> <p>Kelola Member</p> </a> </li> <li class="nav-item"> <a href="kelola_member.php" class="nav-link active"> <i class="nav-icon fas fa-users-cog"></i> <p>Semua Data Member</p> </a> </li> <li class="nav-item"> <a href="logout.php" class="nav-link"> <i class="nav-icon fas fa-sign-out-alt"></i> <p>Logout</p> </a> </li> </ul> </nav> </div> </aside> <!-- Content Wrapper --> <div class="content-wrapper"> <div class="content-header"> <div class="container-fluid"> <?php if (isset($_SESSION['alert'])): ?> <script> Swal.fire({ icon: 'info', title: 'Info', text: '<?= $_SESSION['alert'] ?>', showConfirmButton: false, timer: 2000 }); </script> <?php unset($_SESSION['alert']); endif; ?> <div class="row mb-2 align-items-center"> <div class="col-sm-6"> <h1 class="m-0"><i class="fas fa-users-cog"></i> Semua Data Member</h1> </div> <div class="col-sm-6 text-right"> <button class="btn btn-success mb-3" data-toggle="modal" data-target="#modalTambahMember"> <i class="fas fa-user-plus"></i> Tambah Member </button> </div> </div> </div> </div> <!-- Main content --> <div class="content"> <div class="container-fluid"> <!-- Pencarian --> <form method="GET" class="mb-3"> <div class="input-group"> <input type="text" class="form-control" name="search" placeholder="Cari berdasarkan Username atau Jenis Cheat" value="<?= htmlspecialchars($search) ?>"> <div class="input-group-append"> <button type="submit" class="btn btn-primary">Cari</button> </div> </div> </form> <!-- Tabel Member --> <div class="card"> <div class="card-header"> <h3 class="card-title">Daftar Member</h3> <a href="export_member_excel.php?search=<?= urlencode($search) ?>" class="btn btn-success btn-sm"> <i class="fas fa-file-excel"></i> Export Excel </a> <button id="hapusSemuaBtn" class="btn btn-danger btn-sm"> <i class="fas fa-trash"></i> Hapus Semua Member </button> </div> <div class="card-body"> <table class="table table-bordered table-striped"> <thead> <tr> <th>No</th> <th>Username</th> <th>Nomor Telepon</th> <th>Jenis Cheat</th> <th>Winrate</th> <th>Jackpot</th> <th>Jam Jackpot</th> <th>Last Login</th> <th>IP Address</th> <th>Action</th> </tr> </thead> <tbody> <?php $no = $offset + 1; while ($row = mysqli_fetch_assoc($result)) { ?> <tr> <td><?= $no ?></td> <td><?= htmlspecialchars($row['username']) ?></td> <td><?= htmlspecialchars($row['nomor_telepon']) ?></td> <td><?= htmlspecialchars($row['jenis_cheat']) ?></td> <td><?= $row['winrate'] == 1 ? 'Aktif' : 'Nonaktif' ?></td> <td><?= $row['jackpot'] == 1 ? 'Aktif' : 'Nonaktif' ?></td> <td><?= htmlspecialchars($row['jam_jp']) ?></td> <td><?= (!empty($row['last_login']) && !is_array($row['last_login'])) ? date('d/m/Y H:i:s', strtotime($row['last_login'])) : '-' ?></td> <td><?= !empty($row['ip_address']) && !is_array($row['ip_address']) ? $row['ip_address'] : '-' ?></td> <td> <button type="button" class="btn btn-warning btn-sm btn-edit" data-id="<?= $row['id_member'] ?>"><i class="fas fa-edit"></i> Edit</button> <button class="btn btn-danger btn-sm btn-hapus-member" data-id="<?= $row['id_member'] ?>"> <i class="fas fa-trash-alt"></i> Hapus </button> </td> </tr> <?php $no++; } ?> </tbody> </table> </div> </div> <!-- Pagination --> <nav> <ul class="pagination justify-content-center"> <li class="page-item <?= $page == 1 ? 'disabled' : '' ?>"> <a class="page-link" href="?search=<?= htmlspecialchars($search) ?>&page=<?= $page - 1 ?>">Previous</a> </li> <?php if ($show_previous_dots): ?> <li class="page-item disabled"><a class="page-link">...</a></li> <?php endif; ?> <?php for ($i = $start_page; $i <= $end_page; $i++): ?> <li class="page-item <?= $i == $page ? 'active' : '' ?>"> <a class="page-link" href="?search=<?= htmlspecialchars($search) ?>&page=<?= $i ?>"><?= $i ?></a> </li> <?php endfor; ?> <?php if ($show_next_dots): ?> <li class="page-item disabled"><a class="page-link">...</a></li> <?php endif; ?> <li class="page-item <?= $page == $total_pages ? 'disabled' : '' ?>"> <a class="page-link" href="?search=<?= htmlspecialchars($search) ?>&page=<?= $page + 1 ?>">Next</a> </li> </ul> </nav> </div> </div> </div> </div> <!-- Modal Edit Member --> <div class="modal fade" id="editMemberModal" tabindex="-1" aria-labelledby="editMemberModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content border-success"> <div class="modal-header bg-success text-white"> <h5 class="modal-title" id="editMemberModalLabel"><i class="fas fa-edit"></i> Edit Member</h5> <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <form id="editMemberForm"> <div class="modal-body"> <input type="hidden" name="id_member" id="id_member"> <div class="form-group"> <label><i class="fas fa-user"></i> Username</label> <input type="text" class="form-control" id="username" name="username" required> </div> <div class="form-group"> <label><i class="fas fa-phone"></i> Nomor Telepon</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text"> <i class="fas fa-phone"></i> </span> </div> <input type="tel" name="nomor_telepon" id="nomor_telepon" class="form-control" maxlength="13" pattern="\d{10,13}" required title="Masukkan hanya angka (10-13 digit)" placeholder="Contoh: 081234567890"> </div> </div> <div class="form-group"> <label><i class="fas fa-magic"></i> Jenis Cheat</label> <select name="jenis_cheat" id="jenis_cheat" class="form-control"> <option value="Inject Winrate Pragmatic Play">Inject Winrate Pragmatic Play</option> <option value="Inject Winrate PG Soft">Inject Winrate PG Soft</option> <option value="Inject Super Wild">Inject Super Wild</option> <option value="Inject RTP Maksimal">Inject RTP Maksimal</option> <option value="Other">Other</option> </select> </div> <div class="form-group"> <label>Winrate Status</label> <label class="toggle-switch"> <input type="checkbox" id="winrate_edit" name="winrate"> <span class="slider"></span> </label> <span id="winrate-label-edit" class="toggle-label">Nonaktif</span> </div> <div class="form-group"> <label>Jackpot Status</label> <label class="toggle-switch"> <input type="checkbox" id="jackpot_edit" name="jackpot"> <span class="slider"></span> </label> <span id="jackpot-label-edit" class="toggle-label">Nonaktif</span> </div> <div class="form-group"> <label><i class="fas fa-clock"></i> Jam Jackpot</label> <input type="text" class="form-control" id="jam_jp" name="jam_jp" required> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button> <button type="submit" class="btn btn-success">Simpan Perubahan</button> </div> </form> </div> </div> </div> <div class="modal fade" id="modalTambahMember" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <form id="formTambahMember"> <div class="modal-content"> <div class="modal-header bg-success"> <h5 class="modal-title"><i class="fas fa-user-plus"></i> Tambah Member</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span>×</span> </button> </div> <div class="modal-body"> <div class="form-group"> <label><i class="fas fa-user"></i> Username</label> <input type="text" class="form-control" name="username" required> </div> <div class="form-group"> <label><i class="fas fa-phone"></i> Nomor Telepon</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text"> <i class="fas fa-phone"></i> </span> </div> <input type="tel" name="nomor_telepon" id="nomor_telepon" class="form-control" maxlength="13" pattern="\d{10,13}" required title="Masukkan hanya angka (10-13 digit)" placeholder="Contoh: 081234567890"> </div> <small class="form-text text-muted">Mohon untuk memasukan nomor Telepon dengan benar, untuk proses withdraw.</small> </div> <div class="form-group"> <label><i class="fas fa-magic"></i> Jenis Cheat</label> <select name="jenis_cheat" class="form-control"> <option value="Inject Winrate Pragmatic Play">Inject Winrate Pragmatic Play</option> <option value="Inject Winrate PG Soft">Inject Winrate PG Soft</option> <option value="Inject Super Wild">Inject Super Wild</option> <option value="Inject RTP Maksimal">Inject RTP Maksimal</option> </select> </div> <div class="form-group"> <label class="d-block"><i class="fas fa-percentage"></i> Winrate</label> <div class="d-flex align-items-center"> <label class="toggle-switch me-2"> <input type="checkbox" name="winrate" value="1" id="winrate-toggle"> <span class="slider"></span> </label> <span class="toggle-label" id="winrate-label">Nonaktif</span> </div> </div> <div class="form-group"> <label class="d-block"><i class="fas fa-gem"></i> Jackpot</label> <div class="d-flex align-items-center"> <label class="toggle-switch me-2"> <input type="checkbox" name="jackpot" value="1" id="jackpot-toggle"> <span class="slider"></span> </label> <span class="toggle-label" id="jackpot-label">Nonaktif</span> </div> </div> <div class="form-group"> <label><i class="far fa-clock"></i> Jam Jackpot</label> <input type="time" class="form-control" name="jam_jp"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button> <button type="submit" class="btn btn-success"><i class="fas fa-save"></i> Simpan</button> </div> </div> </form> </div> </div> <script src="adminlte/plugins/jquery/jquery.min.js"></script> <script src="adminlte/plugins/bootstrap/js/bootstrap.bundle.min.js"></script> <script src="adminlte/plugins/overlayScrollbars/js/jquery.overlayScrollbars.min.js"></script> <script src="adminlte/dist/js/adminlte.min.js"></script> <script> // Update status untuk toggle switch function updateLabel(toggleId, labelId) { var toggle = document.getElementById(toggleId); var label = document.getElementById(labelId); if (toggle.checked) { label.textContent = "Aktif"; label.style.color = "#28a745"; } else { label.textContent = "Nonaktif"; label.style.color = "#dc3545"; } } // Event listener untuk toggle document.getElementById("winrate-toggle").addEventListener("change", function () { updateLabel("winrate-toggle", "winrate-label"); }); document.getElementById("jackpot-toggle").addEventListener("change", function () { updateLabel("jackpot-toggle", "jackpot-label"); }); // Set default status awal updateLabel("winrate-toggle", "winrate-label"); updateLabel("jackpot-toggle", "jackpot-label"); </script> <script> document.getElementById('hapusSemuaBtn').addEventListener('click', function() { Swal.fire({ title: 'Yakin mau hapus semua member?', text: "Semua data akan hilang!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#d33', cancelButtonColor: '#3085d6', confirmButtonText: 'Ya, hapus semua!', cancelButtonText: 'Batal' }).then((result) => { if (result.isConfirmed) { // Kirim ke PHP untuk hapus semua fetch('hapus_semua_member.php', { method: 'POST' }) .then(response => response.text()) .then(data => { Swal.fire( 'Berhasil!', 'Semua member telah dihapus.', 'success' ).then(() => { location.reload(); // reload halaman setelah sukses }); }) .catch(error => { Swal.fire( 'Gagal!', 'Terjadi kesalahan saat menghapus data.', 'error' ); }); } }) }); </script> <script> $('#formTambahMember').on('submit', function (e) { e.preventDefault(); const formData = $(this).serialize(); Swal.fire({ title: 'Menyimpan Data...', html: '<div class="progress"><div class="progress-bar bg-success progress-bar-striped progress-bar-animated" style="width: 100%">Loading</div></div>', allowOutsideClick: false, showConfirmButton: false }); $.ajax({ url: 'proses_tambah_member.php', method: 'POST', data: formData, success: function (res) { Swal.fire({ icon: 'success', title: 'Berhasil!', text: 'Data member berhasil ditambahkan.' }).then(() => { location.reload(); // atau bisa fetch data baru jika pakai AJAX }); }, error: function () { Swal.fire({ icon: 'error', title: 'Gagal!', text: 'Terjadi kesalahan saat menyimpan.' }); } }); }); </script> <?php if (mysqli_num_rows($result) == 0): ?> <tr><td colspan="8" class="text-center text-danger">Data tidak ditemukan.</td></tr> <?php endif; ?> <script> $(document).ready(function() { // Edit member functionality $('.btn-edit').on('click', function() { var id_member = $(this).data('id'); $.ajax({ url: 'get_member.php', method: 'GET', data: { id_member: id_member }, dataType: 'json', success: function(data) { $('#id_member').val(data.id_member); $('#username').val(data.username); $('#nomor_telepon').val(data.nomor_telepon); $('#jenis_cheat').val(data.jenis_cheat); $('#winrate_edit').prop('checked', data.winrate == 1); $('#jackpot_edit').prop('checked', data.jackpot == 1); updateToggleLabel('winrate_edit', 'winrate-label-edit'); updateToggleLabel('jackpot_edit', 'jackpot-label-edit'); $('#jam_jp').val(data.jam_jp); $('#editMemberModal').modal('show'); } }); }); // Update toggle label based on state function updateToggleLabel(toggleId, labelId) { var toggle = document.getElementById(toggleId); var label = document.getElementById(labelId); if (toggle.checked) { label.textContent = "Aktif"; label.style.color = "#28a745"; } else { label.textContent = "Nonaktif"; label.style.color = "#dc3545"; } } // Toggle change events for winrate and jackpot $('#winrate_edit').on('change', function() { updateToggleLabel('winrate_edit', 'winrate-label-edit'); }); $('#jackpot_edit').on('change', function() { updateToggleLabel('jackpot_edit', 'jackpot-label-edit'); }); // Form submit for editing member $('#editMemberForm').on('submit', function(e) { e.preventDefault(); $.ajax({ url: 'proses_edit_member.php', // Proses edit member method: 'POST', data: $(this).serialize(), success: function(response) { Swal.fire({ icon: 'success', title: 'Berhasil!', text: 'Data member berhasil disimpan.', showConfirmButton: false, timer: 2000 }).then(function() { location.reload(); }); }, error: function(xhr, status, error) { Swal.fire({ icon: 'error', title: 'Terjadi Kesalahan', text: 'Gagal menyimpan data member. Coba lagi nanti.', showConfirmButton: true }); } }); }); }); </script> <script> $(document).ready(function () { $('.btn-hapus-member').on('click', function () { const id = $(this).data('id'); Swal.fire({ title: 'Yakin ingin menghapus?', text: "Data member tidak bisa dikembalikan!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#d33', cancelButtonColor: '#3085d6', confirmButtonText: 'Ya, Hapus!', cancelButtonText: 'Batal' }).then((result) => { if (result.isConfirmed) { window.location.href = 'hapus_member.php?id=' + id; } }); }); }); </script> </body> </html>
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
adminlte
---
0777
assets
---
0777
member
---
0777
.htaccess
42 bytes
0777
all_data.php
24882 bytes
0777
atur_akses.php
3474 bytes
0777
dashboard_admin.php
11051 bytes
0777
database-baru.sql
1542 bytes
0777
edit_admin.php
2224 bytes
0777
error_log
10607 bytes
0777
export_admin.php
659 bytes
0777
export_member_excel.php
1462 bytes
0777
form_register_admin.php
4243 bytes
0777
ganti_password_admin.php
2078 bytes
0777
get_dashboard_chart_data.php
937 bytes
0777
get_member.php
318 bytes
0777
get_member_data.php
1313 bytes
0777
hapus_admin.php
1310 bytes
0777
hapus_member.php
1160 bytes
0777
hapus_semua_member.php
258 bytes
0777
index.php
2592 bytes
0777
kelola_admin.php
9486 bytes
0777
kelola_member.php
13463 bytes
0777
koneksi.php
466 bytes
0777
logout.php
84 bytes
0777
proses_edit_member.php
1163 bytes
0777
proses_ganti_password_admin.php
848 bytes
0777
proses_login_admin.php
2130 bytes
0777
proses_pengaturan_member.php
1875 bytes
0777
proses_tambah_member.php
2690 bytes
0777
proses_tambah_member_admin.php
768 bytes
0777
N4ST4R_ID | Naxtarrr