<?php
// admin/init.php
// 1. Mulai session
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

// 2. Sertakan koneksi database
// Path-nya '../' karena file ini ada di dalam folder 'admin'
include_once '../config/database.php';

// 3. Tentukan variabel global untuk tahun aktif
// Ini adalah "otak" dari arsitektur multi-tahun kita
$id_tahun_aktif = null;
$tahun_aktif_display = '[Belum Diatur]'; // Tampilan default
$putaran_aktif = null; // 'putaran1' atau 'putaran2'
$putaran_aktif_nama = '[Tidak Ada Pemilihan Aktif]';
$jam_mulai = null;
$jam_selesai = null;
$tanggal_pemilihan = null;

try {
    // Kueri untuk mencari TAHUN yang berstatus 'aktif'
    $stmt_aktif = $pdo->query("SELECT * FROM tahun_pemilihan WHERE status = 'aktif' LIMIT 1");
    $tahun_aktif_data = $stmt_aktif->fetch();

    if ($tahun_aktif_data) {
        $id_tahun_aktif = $tahun_aktif_data['id_tahun'];
        $tahun_aktif_display = $tahun_aktif_data['tahun_ajaran'];
        
        // 4. Setelah tahu TAHUN-nya, cari PUTARAN mana yang aktif
        if ($tahun_aktif_data['putaran1_status'] == 'aktif') {
            $putaran_aktif = 'putaran1';
            $putaran_aktif_nama = $tahun_aktif_data['putaran1_nama'];
            $jam_mulai = $tahun_aktif_data['putaran1_jam_mulai'];
            $jam_selesai = $tahun_aktif_data['putaran1_jam_selesai'];
            $tanggal_pemilihan = $tahun_aktif_data['putaran1_tanggal'];
            
        } elseif ($tahun_aktif_data['putaran2_status'] == 'aktif') {
            $putaran_aktif = 'putaran2';
            $putaran_aktif_nama = $tahun_aktif_data['putaran2_nama'];
            $jam_mulai = $tahun_aktif_data['putaran2_jam_mulai'];
            $jam_selesai = $tahun_aktif_data['putaran2_jam_selesai'];
            $tanggal_pemilihan = $tahun_aktif_data['putaran2_tanggal'];
        }
    }
} catch (PDOException $e) {
    // Tangani error jika tabel belum ada atau masalah koneksi
    die("Error mengambil data tahun aktif: " . $e->getMessage());
}



function sinkronkanSaldoKantong($pdo, $id_pembayaran) {
    $sql = "UPDATE data_pembayaran SET saldo = (SELECT ... query di atas ...) WHERE id_pembayaran = ?";
    $pdo->prepare($sql)->execute([$id_pembayaran]);
}



function sinkronkanSaldoSiswa($pdo, $id_siswa) {
    $sql = "UPDATE siswa s 
            SET s.saldo = (
                SELECT COALESCE(SUM(
                    CASE 
                        WHEN jenis_transaksi IN ('setoran', 'transfer_masuk') THEN jumlah 
                        WHEN jenis_transaksi IN ('penarikan', 'transfer_keluar', 'pembayaran') THEN -jumlah 
                        ELSE 0 
                    END
                ), 0)
                FROM transaksi 
                WHERE id_siswa = s.id_siswa AND status = 'valid'
            )
            WHERE s.id_siswa = ?";
    $pdo->prepare($sql)->execute([$id_siswa]);
}


?>