prepare($sql); $stmt->execute($idServers); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($results) { $no = 1; $gmailDomain = '@gmail.com'; foreach ($results as $row) { $id = $row['id']; $nama = $row['nama']; $email = trim($row['email']); $emailLower = strtolower($email); if (!empty($email) && filter_var($email, FILTER_VALIDATE_EMAIL) && substr($emailLower, -strlen($gmailDomain)) === $gmailDomain) { // Email valid dan Gmail if ($email === $emailLower) { // Semua huruf kecil -> hitam (biarkan) $color = "black"; echo "$no => $id => $nama => " . htmlspecialchars($email) . "
"; } else { // Ada huruf besar -> kuning (UPDATE ke lowercase) $color = "orange"; // $update = $pdo->prepare("UPDATE pelanggan SET email = ? WHERE id = ?"); // $update->execute([$emailLower, $id]); echo "$no => $id => $nama => " . htmlspecialchars($email) . " =UPDATED> $emailLower
"; } } else { // Email tidak valid -> generate baru dan UPDATE $namaClean = strtolower(preg_replace('/[^a-z]/i', '', $nama)); $randomNumber = rand(1000, 9999); $newmail = $namaClean . $randomNumber . $gmailDomain; // $update = $pdo->prepare("UPDATE pelanggan SET email = ? WHERE id = ?"); // $update->execute([$newmail, $id]); echo "$no => $id => $nama => " . htmlspecialchars($email) . " =NEW> $newmail
"; } $no++; } } else { echo "Tidak ada data ditemukan."; } // try { // $bulan = '2025-08'; // $tanggal = date('Y-m-d'); // $metode = "API Payment"; // $stmt = $pdo->prepare(" // SELECT v_tagihan.* // FROM v_tagihan // LEFT JOIN transaksi ON v_tagihan.id = transaksi.id_tagihan // WHERE transaksi.id_tagihan IS NULL // AND SUBSTRING(v_tagihan.limit_pembayaran, 1, 7) = :bulan // AND v_tagihan.status = 'lunas' // "); // $stmt->bindParam(':bulan', $bulan); // $stmt->execute(); // $results = $stmt->fetchAll(PDO::FETCH_ASSOC); // if (!$results) { // echo "Tidak ada tagihan lunas tanpa transaksi di bulan $bulan.
"; // exit; // } // echo "Memproses " . count($results) . " tagihan lunas tanpa transaksi...
"; // foreach ($results as $index => $tagihan) { // $idtag = $tagihan['id']; // $cek = $pdo->prepare("SELECT id_tagihan FROM transaksi WHERE id_tagihan = :idtag"); // $cek->bindParam(':idtag', $idtag, PDO::PARAM_INT); // $cek->execute(); // if ($cek->fetchColumn() === false) { // $statuskas = $tagihan['jenis_layanan'] === 'Hotspot' ? 'Pendapatan Hotspot' : 'Pendapatan PPPOE'; // // $insert = $pdo->prepare(" // // INSERT INTO transaksi ( // // id_data_server, id_tagihan, id_user_akses, start_time, // // keterangan, pemasukan, metode_pembayaran, status // // ) VALUES ( // // :idds, :idtag, :idua, :start_time, // // :keterangan, :pemasukan, :metode, :status // // ) // // "); // // $insert->bindParam(':idds', $tagihan['id_data_server'], PDO::PARAM_INT); // // $insert->bindParam(':idtag', $tagihan['id'], PDO::PARAM_INT); // // $insert->bindParam(':idua', $tagihan['id_marketing'], PDO::PARAM_INT); // // $insert->bindParam(':start_time', $tanggal); // // $insert->bindParam(':keterangan', $tagihan['keterangan']); // // $insert->bindParam(':pemasukan', $tagihan['verifikasi_tagihan']); // // $insert->bindParam(':metode', $metode); // // $insert->bindParam(':status', $statuskas); // // $insert->execute(); // echo "[SUKSES] Insert transaksi untuk tagihan ID: {$tagihan['id']} - {$tagihan['nama']} - {$tagihan['nama_server']}
"; // } else { // echo "[LEWAT] Tagihan ID {$tagihan['id']} sudah ada di transaksi.
"; // } // } // } catch (PDOException $e) { // echo "[PDO ERROR] " . $e->getMessage() . "
"; // } catch (Exception $e) { // echo "[ERROR] " . $e->getMessage() . "
"; // } // 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); // 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); // // 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); // }); // // Hasil akhir // $hasil = [ // 'akun_unmanage' => $akunTidakAdaDiDataakun // ]; // $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]); // // Output hasil // // echo "
";
//         // 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);
        
//         // foreach ($pelanggan as $key) {
//         //     $dataakun[] = array("akun" => $key['akun'], "id" => $key['id']);
//         // }

//         // $time = date('Y-m-d H:i:s');
//         // $updates = [];
//         // $updateStatusOff = [];

//         // 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);

//         //         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'] . " =>

"; // // // 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); // // } // } // } else { // echo "No data found.
"; // } // ?>