<?php
header('Content-Type: application/json; charset=utf-8');
if(!isset($_POST['tok']) || $_POST['tok'] !== 'Hd_v13w_2026') {
    echo '{"ok":false,"err":"auth"}'; exit;
}
try {
    $pdo = new PDO("mysql:host=127.0.0.1;dbname=hiddenad;charset=utf8mb4","root","E3p*eh@s1qjfWk#*",
        array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC));

    $act = isset($_POST['act']) ? $_POST['act'] : '';
    $cid = isset($_POST['cid']) ? $_POST['cid'] : '';
    $kw  = isset($_POST['kw'])  ? $_POST['kw']  : '';
    $pg  = isset($_POST['pg'])  ? max(1,(int)$_POST['pg']) : 1;
    $per = 100;
    $off = (int)(($pg-1)*$per);

    if($act === 'clients') {
        $rows = $pdo->query("SELECT cm.cid,cm.client_nm,COUNT(a.seq) cnt FROM client_mgr cm LEFT JOIN ad_channel_hp a ON a.client_id=cm.cid AND a.del_flag!='D' GROUP BY cm.cid,cm.client_nm ORDER BY cnt DESC")->fetchAll();
        echo json_encode(array('ok'=>true,'data'=>$rows));

    } elseif($act === 'count') {
        $where = 'client_id=? AND del_flag!=?';
        $p = array($cid,'D');
        if($kw!='') { $where.=' AND (usr_nm LIKE ? OR hp_no LIKE ? OR memo LIKE ?)'; $k="%$kw%"; $p[]=$k;$p[]=$k;$p[]=$k; }
        $s=$pdo->prepare("SELECT COUNT(*) FROM ad_channel_hp WHERE $where");
        $s->execute($p);
        echo json_encode(array('ok'=>true,'count'=>(int)$s->fetchColumn()));

    } elseif($act === 'list') {
        $where = 'client_id=? AND del_flag!=?';
        $p = array($cid,'D');
        if($kw!='') { $where.=' AND (usr_nm LIKE ? OR hp_no LIKE ? OR memo LIKE ?)'; $k="%$kw%"; $p[]=$k;$p[]=$k;$p[]=$k; }
        $sql = "SELECT seq,usr_nm,hp_no,chnl_cd,memo,reg_dtm,db_sts,user_ip FROM ad_channel_hp WHERE $where ORDER BY seq DESC LIMIT $per OFFSET $off";
        $s=$pdo->prepare($sql);
        $s->execute($p);
        echo json_encode(array('ok'=>true,'data'=>$s->fetchAll()));

    } else {
        echo json_encode(array('ok'=>false,'err'=>'unknown action'));
    }
} catch(Exception $e) {
    echo json_encode(array('ok'=>false,'err'=>$e->getMessage()));
}
?>