<?php
// Koneksi ke database
include '../config/connect.php';

// Pastikan input yang diterima dari GET aman
$id_data_server = isset($_GET['id']) ? intval($_GET['id']) : 0;
$generate_time = isset($_GET['tgl']) ? $_GET['tgl'] : '';

// Memastikan nilai yang diterima valid dan menghindari SQL injection
if ($id_data_server > 0 && !empty($generate_time)) {
    $data_akumulasi = [];
    // Query yang lebih aman menggunakan prepared statements
    $stmt = $pdo->prepare("SELECT generate_time, 
                                  SUM(debet) as total_debet,
                                  SUM(kredit) as total_kredit,
                                  SUM(saldo) as total_saldo,
                                  SUM(jumlah_voucher) as total_voucher,
                                  SUM(jumlah_voucher_belum_aktif) as total_belum_aktif,
                                  SUM(jumlah_voucher_aktif) as total_aktif,
                                  SUM(jumlah_voucher_expaired) as total_expaired 
                           FROM v_detail_agen_pascabayar 
                           WHERE id_data_server = :id_data_server AND generate_time = :generate_time");

    $stmt->bindValue(':id_data_server', $id_data_server, PDO::PARAM_INT);
    $stmt->bindValue(':generate_time', $generate_time, PDO::PARAM_STR);

    $stmt->execute();

    // Mengambil hasil query dan menyimpannya dalam array
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $data_akumulasi[] = $row;
    }

    // Mengatur header untuk output JSON
    header('Content-Type: application/json');
    echo json_encode($data_akumulasi);
} else {
    echo json_encode(['error' => 'Invalid parameters']);
}
?>
