<?php
// helper.php
// Kumpulan fungsi helper umum untuk proyek
// SAFE: Semua fungsi dibungkus dengan if (!function_exists(...)) sehingga aman bila dideklarasikan di file lain.

// --------------------------------------------------
// getTahunAktifId
// --------------------------------------------------
if (!function_exists('getTahunAktifId')) {
    /**
     * Mengembalikan ID tahun aktif (int) atau 0 jika tidak ada.
     * @param mysqli $conn
     * @return int
     */
    function getTahunAktifId($conn) {
        $sql = "SELECT id FROM tahun_aktif WHERE is_aktif = 1 LIMIT 1";
        $result = $conn->query($sql);
        if ($result && $result->num_rows > 0) {
            $row = $result->fetch_assoc();
            return intval($row['id']);
        }
        return 0;
    }
}

// --------------------------------------------------
// safeText (sanitasi output sederhana)
// --------------------------------------------------
if (!function_exists('safeText')) {
    /**
     * Escape string untuk HTML output
     */
    function safeText($str) {
        return htmlspecialchars($str, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
    }
}

// --------------------------------------------------
// formatRp (format uang Indonesia)
// --------------------------------------------------
if (!function_exists('formatRp')) {
    function formatRp($number) {
        return 'Rp ' . number_format($number, 0, ',', '.');
    }
}

// --------------------------------------------------
// debug helper
// --------------------------------------------------
if (!function_exists('dd')) {
    /**
     * Debug helper: dump & die
     */
    function dd($var) {
        echo '<pre style="background:#f7f7f7;padding:10px;border:1px solid #ddd;">';
        var_dump($var);
        echo '</pre>';
        exit;
    }
}

// --------------------------------------------------
// contoh helper lain: getMitraById -> optional
// --------------------------------------------------
if (!function_exists('getMitraById')) {
    function getMitraById($conn, $id) {
        $stmt = $conn->prepare("SELECT * FROM mitra WHERE id = ? LIMIT 1");
        $stmt->bind_param("i", $id);
        $stmt->execute();
        $res = $stmt->get_result();
        $row = $res->fetch_assoc();
        $stmt->close();
        return $row ?: null;
    }
}

// --------------------------------------------------
// Jika perlu menambahkan helper lain, ikuti pola yang sama:
// - Bungkus dengan if (!function_exists('nama')) { function nama(...) { ... } }
// --------------------------------------------------
