prepare("SELECT id, pppa, id_data_server, nama FROM setting_mikrotik "); $stmt->execute(); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); if ($rows) { foreach ($rows as $row) { $mik = $row['nama']; // Kirim Pesan Koneksi Off ke Pelanggan // Berdasarkan data server yang mengaktifkan pesan tersebut dan sesuai interval nya $stmtSV = $pdo->prepare("SELECT status_koneksi_off, interval_koneksi_off FROM data_server WHERE id = :idserver"); $stmtSV->bindValue(':idserver', $row['id_data_server']); $stmtSV->execute(); $SV = $stmtSV->fetch(PDO::FETCH_ASSOC); if ($SV['status_koneksi_off'] === 'Aktif' && !empty($SV['interval_koneksi_off'])) { // Konversi interval koneksi off ke integer $intervalMenit = (int)$SV['interval_koneksi_off']; // Hitung batas waktu berdasarkan interval $batasWaktu = date('Y-m-d H:i:s', strtotime("-$intervalMenit minutes")); // Siapkan dan eksekusi query untuk mengambil pelanggan $stmtInt = $pdo->prepare("SELECT id, id_data_server, nomor_whatsapp FROM pelanggan WHERE pesan_off = '0' AND status = 'aktif' AND id_setting_mikrotik = :id AND time_update < :batasWaktu"); $stmtInt->bindValue(':id', $row['id']); $stmtInt->bindValue(':batasWaktu', $batasWaktu); $stmtInt->execute(); $Intv = $stmtInt->fetchAll(PDO::FETCH_ASSOC); if ($Intv) { foreach ($Intv as $Val) { $APIwa = new PesanWA(); $APIwa->Create_Pesan($Val['id_data_server'], $Val['id'], 'pesan_koneksi_off'); $Pesan = $APIwa->Get_Pesan(); $APIwa->Send_Pesan($Val['id_data_server'], 'sendMessage', [$Val['nomor_whatsapp']], $Pesan); $stmtInt = $pdo->prepare("UPDATE pelanggan SET pesan_off = '1' WHERE id = :id"); $stmtInt->bindValue(':id', $Val['id']); $stmtInt->execute(); echo $mik." Pesan ke => ".$Val['nomor_whatsapp']." => ".$batasWaktu."\n"; } } else { echo $mik." Data pelanggan tidak ada\n".$batasWaktu; } } else { echo $mik." Status koneksi tidak aktif atau interval tidak tersedia.\n"; } } } else { echo "No data found.\n"; } ?>