Pesan Siaran

Click to upload image Image preview
WhatsApp Preview
prepare("SELECT nomor_whatsapp, id_data_server FROM pelanggan $SQL"); if (!empty($sp)) $stmt->bindParam(':sp', $sp); if (!empty($sk)) $stmt->bindParam(':sk', $sk); if (!empty($mt)) $stmt->bindParam(':mt', $mt); $stmt->execute(); $countInserted = 0; while ($pecah = $stmt->fetch(PDO::FETCH_ASSOC)) { // ====== GATEWAY OFFICIAL ====== if (!empty($type) && $type == "official") { $id = $pecah['id_data_server']; $jenis = "sendMessage"; $nomor = $pecah['nomor_whatsapp']; // Replace placeholder #no_whatsapp dengan angka murni dari nomor $cleanNumber = preg_replace('/\D/', '', $nomor); $message = str_replace('#no_whatsapp', $cleanNumber, $_POST['pesan_official']); $file_url = NULL; $apiurl = 0; $apikey = 0; $sqlIn = "INSERT INTO master_pesan (id_data_server, jenis_pesan, api_url, api_key, nomor, pesan, url_file, status, gateway_type) VALUES (:id, :jenis, :apiurl, :apikey, :nomor, :pesan, :url_file, 'PENDING', 'official')"; } // ====== GATEWAY UNOFFICIAL ====== else { $stmt2 = $pdo->prepare("SELECT url_whatsapp_gateway, apiKey_whatsapp FROM data_server WHERE id = :id_data_server"); $stmt2->bindParam(':id_data_server', $pecah['id_data_server']); $stmt2->execute(); $pecah2 = $stmt2->fetch(PDO::FETCH_ASSOC); if (!$pecah2) { continue; // skip kalau data_server tidak ditemukan } // Cek apakah ada file yang diupload di sesi $sessionKey = 'siaran' . $SvId; if (isset($_SESSION['uploaded_files'][$sessionKey])) { $id = $pecah['id_data_server']; $jenis = "sendMediaFromUrl"; $nomor = $pecah['nomor_whatsapp']; $message = $_POST['pesan']; $file_url = $target_dir . $_SESSION['uploaded_files'][$sessionKey]; $apiurl = $pecah2['url_whatsapp_gateway']; $apikey = $pecah2['apiKey_whatsapp']; $sqlIn = "INSERT INTO master_pesan (id_data_server, jenis_pesan, api_url, api_key, nomor, pesan, url_file, status, gateway_type) VALUES (:id, :jenis, :apiurl, :apikey, :nomor, :pesan, :url_file, 'PENDING', 'unofficial')"; } else { $id = $pecah['id_data_server']; $jenis = "sendMessage"; $nomor = $pecah['nomor_whatsapp']; $message = $_POST['pesan']; $apiurl = $pecah2['url_whatsapp_gateway']; $apikey = $pecah2['apiKey_whatsapp']; $file_url = NULL; $sqlIn = "INSERT INTO master_pesan (id_data_server, jenis_pesan, api_url, api_key, nomor, pesan, status, gateway_type) VALUES (:id, :jenis, :apiurl, :apikey, :nomor, :pesan, 'PENDING', 'unofficial')"; } } // === Insert ke tabel master_pesan === $stmtInsert = $pdo->prepare($sqlIn); $stmtInsert->bindParam(':id', $id); $stmtInsert->bindParam(':jenis', $jenis); $stmtInsert->bindParam(':apiurl', $apiurl); $stmtInsert->bindParam(':apikey', $apikey); $stmtInsert->bindParam(':nomor', $nomor); $stmtInsert->bindParam(':pesan', $message); if (strpos($sqlIn, ':url_file') !== false) { $stmtInsert->bindParam(':url_file', $file_url); } $stmtInsert->execute(); $countInserted++; } // Bersihkan sesi upload jika ada if (isset($_SESSION['uploaded_files']['siaran' . $SvId])) { unset($_SESSION['uploaded_files']['siaran' . $SvId]); } if ($countInserted > 0) { sweetAlert("Pesan ($countInserted) akan segera dikirim.", "success"); } else { sweetAlert("Tidak ada data pelanggan yang cocok.", "info"); } } catch (PDOException $e) { sweetAlert("Error Database: " . $e->getMessage(), "error"); } catch (Exception $e) { sweetAlert("Kesalahan Umum: " . $e->getMessage(), "error"); } } ?>