<?php
defined('BASEPATH') OR exit('No direct script access allowed');

// --- LOGIKA PENGECEKAN ADMIN YANG LEBIH KUAT ---
$is_admin = false;

// Cara 1: Cek via CI Instance (Jika masih hidup)
if (function_exists('get_instance')) {
    $CI =& get_instance();
    if (isset($CI->session)) {
        if ($CI->session->userdata('role_name') == 'administrator') {
            $is_admin = true;
        }
    }
}

// Cara 2: Cek via Cookie/Session Native PHP (Fallback jika CI mati)
// CI menyimpan session di cookie atau database. Jika di cookie, kita bisa cek nama cookienya.
// Tapi cara paling aman untuk Parse Error adalah:
// Jika ENVIRONMENT adalah production, CI seharusnya menyembunyikan error.
// Jika error masih muncul, berarti setting di index.php belum kena.

// Namun, karena Anda ingin Admin tetap lihat error meski di Production:
// Kita akan cek apakah request ini berasal dari IP Admin atau User Agent tertentu? 
// Tidak, itu rumit. Kita kembali ke Session.

// Jika Parse Error terjadi, script PHP berhenti. 
// Satu-satunya cara menampilkan "Kiosk Mode" saat Parse Error adalah 
// menggunakan .htaccess ErrorDocument (untuk error 500).
?>

<?php if ($is_admin): ?>
    <!-- TAMPILAN UNTUK ADMIN (DETAIL ERROR) -->
    <div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;background:#fff;font-family:sans-serif;">
        <h4>A PHP Error was encountered (Admin View)</h4>
        <p>Severity: <?php echo isset($severity) ? $severity : 'Unknown'; ?></p>
        <p>Message:  <?php echo isset($message) ? $message : 'Unknown error'; ?></p>
        <p>Filename: <?php echo isset($filepath) ? $filepath : 'Unknown'; ?></p>
        <p>Line Number: <?php echo isset($line) ? $line : '0'; ?></p>
        <?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
            <p>Backtrace:</p>
            <?php foreach (debug_backtrace() as $error): ?>
                <?php if (isset($error['file']) && strpos($error['file'], realpath(BASEPATH)) !== 0): ?>
                    <p style="margin-left:10px">
                    File: <?php echo $error['file'] ?><br />
                    Line: <?php echo $error['line'] ?><br />
                    Function: <?php echo $error['function'] ?>
                    </p>
                <?php endif ?>
            <?php endforeach ?>
        <?php endif ?>
    </div>
<?php else: ?>
    <!-- TAMPILAN UNTUK KASIR/USER (KIOSK MODE) -->
    <!DOCTYPE html>
    <html>
    <head>
        <title>System Maintenance</title>
        <style>
            body { background-color: #f4f6f9; font-family: sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
            .box { background: white; padding: 40px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); text-align: center; max-width: 500px; }
            h1 { color: #d9534f; font-size: 24px; }
            p { color: #555; font-size: 16px; line-height: 1.5; }
            .btn { display: inline-block; margin-top: 20px; padding: 10px 20px; background: #337ab7; color: white; text-decoration: none; border-radius: 5px; }
        </style>
    </head>
    <body>
        <div class="box">
            <h1>Oops! Terjadi Kesalahan</h1>
            <p>Ada permasalahan pada halaman yang Anda tuju, mohon segera hubungi admin.</p>
            <a href="<?php echo base_url(); ?>" class="btn">Kembali ke Beranda</a>
        </div>
    </body>
    </html>
    <?php exit; ?>
<?php endif; ?>