Update Voucher , Tiket , Dashboard
membuat perubahan dan update
This commit is contained in:
+139
-112
@@ -1,135 +1,162 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
include "../controller/crudRadiusServer.php";
|
||||
|
||||
$radius = new CrudRadiusServer();
|
||||
$radius->request('add_user', 'POST', [
|
||||
'jenis' => 'Hotspot',
|
||||
'username' => 'TESTVCR',
|
||||
'password' => 'TESTVCR',
|
||||
'groupname' => 'paket-6-device-8',
|
||||
'nasgroupname' => 'server8'
|
||||
]);
|
||||
|
||||
|
||||
// $radius->request('add_user', 'POST', [
|
||||
// 'jenis' => 'DHCP',
|
||||
// 'username' => 'b0:a7:b9:5e:d9:1d',
|
||||
// 'groupname' => 'paket-upto-50-mbps-8',
|
||||
// 'nasgroupname' => 'server8'
|
||||
// ]);
|
||||
|
||||
// $radius = new CrudRadiusServer();
|
||||
// $radius->request('delete_user', 'DELETE', [
|
||||
// 'username' => 'testadd'
|
||||
// ]);
|
||||
|
||||
// include "/www/wwwroot/bilspro/config/connect.php";
|
||||
|
||||
include "../config/connect.php";
|
||||
// Ambil data dari tabel setting_mikrotik
|
||||
$stmt = $pdo->prepare("SELECT id, pppa, id_data_server, nama FROM setting_mikrotik WHERE pppa != ''");
|
||||
$stmt->execute();
|
||||
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
// include "../config/connect.php";
|
||||
// // Ambil data dari tabel setting_mikrotik
|
||||
// $stmt = $pdo->prepare("SELECT id, pppa, id_data_server, nama FROM setting_mikrotik WHERE pppa != ''");
|
||||
// $stmt->execute();
|
||||
// $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
if ($rows) {
|
||||
foreach ($rows as $row) {
|
||||
$id = $row['id'];
|
||||
$pppa = substr($row['pppa'],0,-1);
|
||||
// if ($rows) {
|
||||
// foreach ($rows as $row) {
|
||||
// $id = $row['id'];
|
||||
// $pppa = substr($row['pppa'],0,-1);
|
||||
|
||||
$entries = explode('|', $pppa);
|
||||
// Buat array hasil dari $pppa
|
||||
$result = [];
|
||||
foreach ($entries as $entry) {
|
||||
// Pecah setiap entry berdasarkan '_'
|
||||
list($akun, $ip_address) = explode('_', $entry);
|
||||
$result[] = [
|
||||
'akun' => $akun,
|
||||
'ip_address' => $ip_address
|
||||
];
|
||||
}
|
||||
// Ambil data akun dari database
|
||||
$dataakun = [];
|
||||
$stmtPel = $pdo->prepare("SELECT id, akun FROM pelanggan WHERE id_setting_mikrotik = :id");
|
||||
$stmtPel->bindValue(':id', $id, PDO::PARAM_INT); // Pastikan parameter tipe aman
|
||||
$stmtPel->execute();
|
||||
$pelanggan = $stmtPel->fetchAll(PDO::FETCH_ASSOC);
|
||||
// $entries = explode('|', $pppa);
|
||||
// // Buat array hasil dari $pppa
|
||||
// $result = [];
|
||||
// foreach ($entries as $entry) {
|
||||
// // Pecah setiap entry berdasarkan '_'
|
||||
// list($akun, $ip_address) = explode('_', $entry);
|
||||
// $result[] = [
|
||||
// 'akun' => $akun,
|
||||
// 'ip_address' => $ip_address
|
||||
// ];
|
||||
// }
|
||||
// // Ambil data akun dari database
|
||||
// $dataakun = [];
|
||||
// $stmtPel = $pdo->prepare("SELECT id, akun FROM pelanggan WHERE id_setting_mikrotik = :id");
|
||||
// $stmtPel->bindValue(':id', $id, PDO::PARAM_INT); // Pastikan parameter tipe aman
|
||||
// $stmtPel->execute();
|
||||
// $pelanggan = $stmtPel->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
// Iterasi data pelanggan
|
||||
foreach ($pelanggan as $key) {
|
||||
if (isset($key['akun'], $key['id'])) { // Pastikan kedua kunci ada
|
||||
$dataakun[] = [
|
||||
"akun" => $key['akun'],
|
||||
"id" => $key['id']
|
||||
];
|
||||
}
|
||||
}
|
||||
// Ambil hanya daftar akun dari $dataakun
|
||||
$akunDataakun = array_column($dataakun, 'akun');
|
||||
// // Iterasi data pelanggan
|
||||
// foreach ($pelanggan as $key) {
|
||||
// if (isset($key['akun'], $key['id'])) { // Pastikan kedua kunci ada
|
||||
// $dataakun[] = [
|
||||
// "akun" => $key['akun'],
|
||||
// "id" => $key['id']
|
||||
// ];
|
||||
// }
|
||||
// }
|
||||
// // Ambil hanya daftar akun dari $dataakun
|
||||
// $akunDataakun = array_column($dataakun, 'akun');
|
||||
|
||||
// Cari akun yang ada di $result tetapi tidak ada di $dataakun
|
||||
$akunTidakAdaDiDataakun = array_filter($result, function ($item) use ($akunDataakun) {
|
||||
return !in_array($item['akun'], $akunDataakun);
|
||||
});
|
||||
// // Cari akun yang ada di $result tetapi tidak ada di $dataakun
|
||||
// $akunTidakAdaDiDataakun = array_filter($result, function ($item) use ($akunDataakun) {
|
||||
// return !in_array($item['akun'], $akunDataakun);
|
||||
// });
|
||||
|
||||
// Hasil akhir
|
||||
$hasil = [
|
||||
'akun_unmanage' => $akunTidakAdaDiDataakun
|
||||
];
|
||||
// // Hasil akhir
|
||||
// $hasil = [
|
||||
// 'akun_unmanage' => $akunTidakAdaDiDataakun
|
||||
// ];
|
||||
|
||||
$ppp_unmanage = json_encode($hasil);
|
||||
// $ppp_unmanage = json_encode($hasil);
|
||||
|
||||
$updateStmt = $pdo->prepare("UPDATE setting_mikrotik SET ppp_unmanage = :ppp_unmanage WHERE id = :id");
|
||||
$updateStmt->execute([':ppp_unmanage' => $ppp_unmanage, ':id' => $id]);
|
||||
// $updateStmt = $pdo->prepare("UPDATE setting_mikrotik SET ppp_unmanage = :ppp_unmanage WHERE id = :id");
|
||||
// $updateStmt->execute([':ppp_unmanage' => $ppp_unmanage, ':id' => $id]);
|
||||
|
||||
// Output hasil
|
||||
// echo "<pre>";
|
||||
// print_r($hasil);
|
||||
// // Output hasil
|
||||
// // echo "<pre>";
|
||||
// // print_r($hasil);
|
||||
|
||||
|
||||
|
||||
// $dataakun = [];
|
||||
// // Ambil semua akun pelanggan dalam satu query
|
||||
// $stmtPel = $pdo->prepare("SELECT id, akun FROM pelanggan WHERE id_setting_mikrotik = :id");
|
||||
// $stmtPel->bindValue(':id', $id);
|
||||
// $stmtPel->execute();
|
||||
// $pelanggan = $stmtPel->fetchAll(PDO::FETCH_ASSOC);
|
||||
// // $dataakun = [];
|
||||
// // // Ambil semua akun pelanggan dalam satu query
|
||||
// // $stmtPel = $pdo->prepare("SELECT id, akun FROM pelanggan WHERE id_setting_mikrotik = :id");
|
||||
// // $stmtPel->bindValue(':id', $id);
|
||||
// // $stmtPel->execute();
|
||||
// // $pelanggan = $stmtPel->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
// foreach ($pelanggan as $key) {
|
||||
// $dataakun[] = array("akun" => $key['akun'], "id" => $key['id']);
|
||||
// }
|
||||
// // foreach ($pelanggan as $key) {
|
||||
// // $dataakun[] = array("akun" => $key['akun'], "id" => $key['id']);
|
||||
// // }
|
||||
|
||||
// $time = date('Y-m-d H:i:s');
|
||||
// $updates = [];
|
||||
// $updateStatusOff = [];
|
||||
// // $time = date('Y-m-d H:i:s');
|
||||
// // $updates = [];
|
||||
// // $updateStatusOff = [];
|
||||
|
||||
// foreach ($pelanggan as $key) {
|
||||
// $akun = $key['akun'];
|
||||
// $idakun = $key['id'];
|
||||
// // foreach ($pelanggan as $key) {
|
||||
// // $akun = $key['akun'];
|
||||
// // $idakun = $key['id'];
|
||||
|
||||
// // Cek apakah akun ada dalam pppa
|
||||
// if (strpos($pppa, $akun) !== false) {
|
||||
// // Cari nama awalan dan ambil bagian data setelahnya
|
||||
// $cari00 = stristr($pppa, $akun);
|
||||
// // Ambil data hingga tanda '|'
|
||||
// $cari02 = strtok($cari00, "|");
|
||||
// // Rubah ke array
|
||||
// $data = explode("_", $cari02);
|
||||
// // // Cek apakah akun ada dalam pppa
|
||||
// // if (strpos($pppa, $akun) !== false) {
|
||||
// // // Cari nama awalan dan ambil bagian data setelahnya
|
||||
// // $cari00 = stristr($pppa, $akun);
|
||||
// // // Ambil data hingga tanda '|'
|
||||
// // $cari02 = strtok($cari00, "|");
|
||||
// // // Rubah ke array
|
||||
// // $data = explode("_", $cari02);
|
||||
|
||||
// if (count($data) === 2) {
|
||||
// $ipadd = $data[1];
|
||||
// // if (count($data) === 2) {
|
||||
// // $ipadd = $data[1];
|
||||
|
||||
// // Siapkan data untuk update
|
||||
// $updates[] = [
|
||||
// 'id' => $idakun,
|
||||
// 'status' => 'On',
|
||||
// 'ip_address' => $ipadd,
|
||||
// 'time' => $time,
|
||||
// ];
|
||||
// }
|
||||
// } else {
|
||||
// $updateStatusOff[] = $idakun;
|
||||
// }
|
||||
// }
|
||||
// echo $row['nama'] . " =><br>\n";
|
||||
// // // Siapkan data untuk update
|
||||
// // $updates[] = [
|
||||
// // 'id' => $idakun,
|
||||
// // 'status' => 'On',
|
||||
// // 'ip_address' => $ipadd,
|
||||
// // 'time' => $time,
|
||||
// // ];
|
||||
// // }
|
||||
// // } else {
|
||||
// // $updateStatusOff[] = $idakun;
|
||||
// // }
|
||||
// // }
|
||||
// // echo $row['nama'] . " =><br>\n";
|
||||
|
||||
// // Update status koneksi yang 'On' sekaligus
|
||||
// if (!empty($updates)) {
|
||||
// $updateQuery = "UPDATE pelanggan SET status_koneksi = CASE id ";
|
||||
// foreach ($updates as $update) {
|
||||
// $updateQuery .= "WHEN {$update['id']} THEN 'On' ";
|
||||
// }
|
||||
// $updateQuery .= "END, ip_address = CASE id ";
|
||||
// foreach ($updates as $update) {
|
||||
// $updateQuery .= "WHEN {$update['id']} THEN '{$update['ip_address']}' ";
|
||||
// }
|
||||
// $updateQuery .= "END, time_update = '{$time}' WHERE id IN (" . implode(',', array_column($updates, 'id')) . ")";
|
||||
// $pdo->exec($updateQuery);
|
||||
// }
|
||||
// // // Update status koneksi yang 'On' sekaligus
|
||||
// // if (!empty($updates)) {
|
||||
// // $updateQuery = "UPDATE pelanggan SET status_koneksi = CASE id ";
|
||||
// // foreach ($updates as $update) {
|
||||
// // $updateQuery .= "WHEN {$update['id']} THEN 'On' ";
|
||||
// // }
|
||||
// // $updateQuery .= "END, ip_address = CASE id ";
|
||||
// // foreach ($updates as $update) {
|
||||
// // $updateQuery .= "WHEN {$update['id']} THEN '{$update['ip_address']}' ";
|
||||
// // }
|
||||
// // $updateQuery .= "END, time_update = '{$time}' WHERE id IN (" . implode(',', array_column($updates, 'id')) . ")";
|
||||
// // $pdo->exec($updateQuery);
|
||||
// // }
|
||||
|
||||
// // Update status koneksi yang 'Off'
|
||||
// if (!empty($updateStatusOff)) {
|
||||
// $updateOffQuery = "UPDATE pelanggan SET status_koneksi = 'Off' WHERE id IN ('" . implode("', '", $updateStatusOff) . "')";
|
||||
// $pdo->exec($updateOffQuery);
|
||||
// }
|
||||
// // // Update status koneksi yang 'Off'
|
||||
// // if (!empty($updateStatusOff)) {
|
||||
// // $updateOffQuery = "UPDATE pelanggan SET status_koneksi = 'Off' WHERE id IN ('" . implode("', '", $updateStatusOff) . "')";
|
||||
// // $pdo->exec($updateOffQuery);
|
||||
// // }
|
||||
|
||||
}
|
||||
} else {
|
||||
echo "No data found.\n";
|
||||
}
|
||||
?>
|
||||
// }
|
||||
// } else {
|
||||
// echo "No data found.\n";
|
||||
// }
|
||||
// ?>
|
||||
|
||||
Reference in New Issue
Block a user