<?php require_once __DIR__.'/_layout.php'; web_require_login();
if($_SERVER['REQUEST_METHOD']==='POST'){
    $text=trim((string)($_POST['text'] ?? ''));
    $target=(string)($_POST['target'] ?? 'all');
    if($text==='') web_flash('error','متن ارسال همگانی خالی است.');
    else {
        $ok=false;
        if(function_exists('bot_broadcast_enqueue_text')){
            $job = bot_broadcast_enqueue_text($_SESSION['web_admin_id'] ?? '', $text, $target);
            $ok = !empty($job['id']);
        } else {
            $dir='cache'; if(!is_dir($dir)) @mkdir($dir,0775,true);
            $row=['id'=>time().'-'.random_int(1000,9999),'type'=>'message','text'=>$text,'target'=>$target,'created_by'=>$_SESSION['web_admin_id'] ?? '','created_at'=>time(),'status'=>'pending'];
            @file_put_contents($dir.'/broadcast_web_queue.jsonl', json_encode($row,JSON_UNESCAPED_UNICODE)."\n", FILE_APPEND|LOCK_EX); $ok=true;
        }
        web_admin_log('web_broadcast_create','broadcast',null,'ساخت ارسال همگانی از پنل وب',['target'=>$target]);
        web_flash($ok?'success':'error', $ok?'ارسال همگانی وارد صف شد. کرون اصلی آن را مرحله‌ای ارسال می‌کند.':'ساخت صف انجام نشد.');
    }
    web_redirect('broadcast.php');
}
web_header('ارسال همگانی'); ?>
<div class="panel"><form method="post"><?php web_csrf_input(); ?><div class="field"><label>مخاطب</label><select name="target"><option value="all">همه کاربران</option><option value="active">کاربران فعال</option><option value="vip">کاربران ویژه</option></select></div><div class="field"><label>متن پیام</label><textarea name="text" placeholder="متن همگانی"></textarea></div><button>افزودن به صف ارسال</button></form><div class="alert">ارسال مستقیم انجام نمی‌شود؛ کرون اصلی هر دقیقه طبق محدودیت امن تلگرام، تا ۲۰ درخواست را از صف ارسال می‌کند.</div></div>
<?php
$pdo=web_pdo(); if($pdo){ try{ $rows=$pdo->query('SHOW TABLES LIKE "bot_broadcast_queue"')->fetchAll(); if($rows){ $st=$pdo->query('SELECT * FROM bot_broadcast_queue ORDER BY id DESC LIMIT 20'); web_table_start(['شناسه','نوع','وضعیت','ثبت','آخرین تغییر']); foreach($st as $r){ echo '<tr><td>'.web_h($r['id']).'</td><td>'.web_h($r['type']??'').'</td><td>'.web_h($r['status']??'').'</td><td>'.web_h($r['created_at']??'').'</td><td>'.web_h($r['updated_at']??'').'</td></tr>'; } web_table_end(); } }catch(Throwable $e){} }
web_footer();
