63 lines
2.6 KiB
PHP
63 lines
2.6 KiB
PHP
<?php
|
|
include "/www/wwwroot/bilspro/config/connect.php";
|
|
include "/www/wwwroot/bilspro/config/whatsapp_api.php";
|
|
|
|
// include "../config/connect.php";
|
|
// include "../config/whatsapp_api.php";
|
|
|
|
// Ambil data dari tabel setting_mikrotik
|
|
$stmt = $pdo->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";
|
|
}
|
|
|
|
?>
|