<?php
// Fungsi untuk membersihkan input
function cleanInput($data) {
    global $conn;
    return mysqli_real_escape_string($conn, htmlspecialchars(trim($data)));
}

// Fungsi untuk redirect
function redirect($url) {
    echo "<script>window.location.href='$url';</script>";
    exit;
}

// Fungsi untuk alert dengan modal
function alertModal($title, $message, $type = 'success', $redirect = null) {
    $_SESSION['modal_title'] = $title;
    $_SESSION['modal_message'] = $message;
    $_SESSION['modal_type'] = $type;
    $_SESSION['modal_redirect'] = $redirect;
}

// Fungsi untuk mendapatkan data user yang login
function getCurrentUser() {
    if (isset($_SESSION['id_user'])) {
        global $conn;
        $id_user = $_SESSION['id_user'];
        $query = mysqli_query($conn, "SELECT * FROM bkcare_users WHERE id_user = '$id_user'");
        return mysqli_fetch_assoc($query);
    }
    return null;
}

// Fungsi untuk cek login
function checkLogin() {
    if (!isset($_SESSION['id_user'])) {
        redirect('auth/login.php');
    }
}

// Fungsi untuk cek role
function checkRole($allowed_roles) {
    $user = getCurrentUser();
    if (!in_array($user['role'], $allowed_roles)) {
        alertModal('Akses Ditolak', 'Anda tidak memiliki izin untuk mengakses halaman ini.', 'danger', 'index.php');
        return false;
    }
    return true;
}

// Fungsi untuk mendapatkan tahun ajaran aktif
function getTahunAjaranAktif() {
    global $conn;
    $query = mysqli_query($conn, "SELECT * FROM bkcare_tahun_ajaran WHERE status = 'aktif' LIMIT 1");
    return mysqli_fetch_assoc($query);
}
// Tambahkan di config/function.php
function tgl_indonesia($tanggal) {
    if (empty($tanggal) || $tanggal == '0000-00-00') {
        return '-';
    }
    
    $bulan = array(
        1 => 'Januari',
        'Februari',
        'Maret',
        'April',
        'Mei',
        'Juni',
        'Juli',
        'Agustus',
        'September',
        'Oktober',
        'November',
        'Desember'
    );
    
    $pecahkan = explode('-', $tanggal);
    
    return $pecahkan[2] . ' ' . $bulan[(int)$pecahkan[1]] . ' ' . $pecahkan[0];
}
// Fungsi untuk mendapatkan id_siswa dari id_user
function getSiswaIdByUserId($id_user, $conn) {
    $query = "SELECT id_siswa FROM bkcare_siswa WHERE id_user = $id_user";
    $result = mysqli_query($conn, $query);
    if ($row = mysqli_fetch_assoc($result)) {
        return $row['id_siswa'];
    }
    return 0;
}

// Fungsi untuk mendapatkan id_guru dari id_user
function getGuruIdByUserId($id_user, $conn) {
    $query = "SELECT id_guru FROM bkcare_guru WHERE id_user = $id_user";
    $result = mysqli_query($conn, $query);
    if ($row = mysqli_fetch_assoc($result)) {
        return $row['id_guru'];
    }
    return 0;
}




function getActiveTahunAjaran($conn) {
    $query = "SELECT * FROM bkcare_tahun_ajaran WHERE status = 'aktif' LIMIT 1";
    $result = mysqli_query($conn, $query);
    return mysqli_fetch_assoc($result);
}

// Tambahkan di session_start() setelah itu
if (isset($_SESSION['success_message'])) {
    echo '<div class="alert alert-success alert-dismissible fade show" role="alert">
            <i class="fas fa-check-circle me-2"></i> ' . $_SESSION['success_message'] . '
            <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
          </div>';
    unset($_SESSION['success_message']);
}

if (isset($_SESSION['error_message'])) {
    echo '<div class="alert alert-danger alert-dismissible fade show" role="alert">
            <i class="fas fa-exclamation-circle me-2"></i> ' . $_SESSION['error_message'] . '
            <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
          </div>';
    unset($_SESSION['error_message']);
}
?>