/
/
home
/
u523034047
/
domains
/
eipcsindia.com
/
public_html
/
wap
Server: in-mum-web1112.main-hosting.eu (62.72.28.111)
You: 216.73.216.52
PHP 8.3.16
Dir:
/home/u523034047/domains/eipcsindia.com/public_html/wap
Edit:
/home/u523034047/domains/eipcsindia.com/public_html/wap/broadcasts.php
<?php require 'config.php'; ensureAdmin(); $templates = $pdo->query('SELECT * FROM templates')->fetchAll(); if(isset($_POST['create'])){ $title = $_POST['title']; $template_id = $_POST['template_id']; // choose recipients: all active contacts or uploaded list $recips = $pdo->query("SELECT * FROM contacts WHERE status='active'")->fetchAll(); $pdo->beginTransaction(); $stmt = $pdo->prepare('INSERT INTO broadcasts (title,template_id,total,status) VALUES (?,?,?,?)'); $stmt->execute([$title,$template_id,count($recips),'pending']); $broadcast_id = $pdo->lastInsertId(); $insertBI = $pdo->prepare('INSERT INTO broadcast_items (broadcast_id,contact_id,to_phone,payload,status) VALUES (?,?,?,?,?)'); foreach($recips as $r){ // prepare simple payload using components JSON $template = $pdo->prepare('SELECT * FROM templates WHERE id=?'); $template->execute([$template_id]); $tpl = $template->fetch(); $components = json_decode($tpl['components'], true); // Replace placeholders in components if you wish e.g. {{name}} $payload = json_encode(['template_name'=>$tpl['name'],'language'=>$tpl['language_code'],'components'=>$components]); $insertBI->execute([$broadcast_id,$r['id'],$r['phone'],$payload,'queued']); } $pdo->commit(); header('Location: broadcasts.php');exit; } $broadcasts = $pdo->query('SELECT * FROM broadcasts ORDER BY created_at DESC')->fetchAll(); ?> <!doctype html><html><head> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <title>Broadcasts</title></head><body> <div class="container mt-3"> <h3>Create Broadcast</h3> <form method="post" class="mb-3"> <input name="title" class="form-control mb-2" placeholder="Title" required> <select name="template_id" class="form-control mb-2" required> <?php foreach($templates as $t):?><option value="<?=$t['id']?>"><?=htmlspecialchars($t['name'])?>(<?=$t['category']?>)</option><?php endforeach;?> </select> <button name="create" class="btn btn-primary">Queue Broadcast</button> </form> <h4>Existing Broadcasts</h4> <table class="table"><thead><tr><th>Title</th><th>Total</th><th>Sent</th><th>Status</th><th>Action</th></tr></thead><tbody> <?php foreach($broadcasts as $b):?> <tr><td><?=$b['title']?></td><td><?=$b['total']?></td><td><?=$b['sent']?></td><td><?=$b['status']?></td> <td> <?php if($b['status']=='pending'):?><a class="btn btn-sm btn-success" href="run_broadcast.php?id=<?=$b['id']?>">Run</a><?php endif;?> </td></tr> <?php endforeach;?></tbody></table> </div></body></html>
Ukuran: 2.5 KB