<?php
session_start();
require_once '../includes/config.php';
require_once '../includes/functions.php';

if (!isset($_SESSION['user_id'])) {
    header('Location: ../login.php');
    exit;
}

if (isset($_GET['id'])) {
    $soal_id = $_GET['id'];
    
    try {
        $stmt = $pdo->prepare("SELECT * FROM bank_soal_praktik WHERE id = ?");
        $stmt->execute([$soal_id]);
        $soal = $stmt->fetch(PDO::FETCH_ASSOC);
        
        if ($soal) {
            // Handle gambar
            $gambar_html = '';
            if (!empty($soal['gambar_soal'])) {
                $gambar_path = $soal['gambar_soal'];
                if (!filter_var($gambar_path, FILTER_VALIDATE_URL)) {
                    // Jika gambar lokal, konversi ke base64
                    $full_path = '../' . $gambar_path;
                    if (file_exists($full_path)) {
                        $image_data = base64_encode(file_get_contents($full_path));
                        $image_info = getimagesize($full_path);
                        $mime_type = $image_info['mime'];
                        $gambar_html = '<div style="text-align: center; margin: 15px 0;">
                            <img src="data:'.$mime_type.';base64,'.$image_data.'" 
                                 style="max-width: 500px; max-height: 300px; border: 1px solid #ddd; padding: 5px;"
                                 alt="Gambar Soal">
                            <br><small><em>Gambar Soal</em></small>
                        </div>';
                    }
                } else {
                    // Jika gambar URL
                    $gambar_html = '<div style="text-align: center; margin: 15px 0;">
                        <img src="'.$gambar_path.'" 
                             style="max-width: 500px; max-height: 300px; border: 1px solid #ddd; padding: 5px;"
                             alt="Gambar Soal" onerror="this.style.display=\'none\'">
                        <br><small><em>Gambar Soal</em></small>
                    </div>';
                }
            }

            header("Content-Type: application/vnd.ms-word");
            header("Content-Disposition: attachment; filename=\"Soal_Praktik_" . preg_replace('/[^a-zA-Z0-9]/', '_', $soal['nomor_registrasi']) . ".doc\"");
            
            $html = generateWordDocument($soal, $gambar_html);
            echo $html;
            exit;
        }
    } catch (PDOException $e) {
        // Handle error
        header("Location: list_soal_praktik.php?error=Export gagal");
        exit;
    }
}

header("Location: list_soal_praktik.php");
exit;

function generateWordDocument($soal, $gambar_html) {
    $tanggal_dibuat = date('d/m/Y H:i', strtotime($soal['created_at']));
    
    return '
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Soal Praktik - '.htmlspecialchars($soal['nomor_registrasi']).'</title>
    <style>
        body { 
            font-family: "Arial", sans-serif; 
            font-size: 11pt; 
            margin: 20px;
            line-height: 1.6;
            color: #333;
        }
        .header { 
            text-align: center; 
            margin-bottom: 25px;
            border-bottom: 2px solid #2c3e50;
            padding-bottom: 15px;
        }
        .main-title { 
            font-size: 16pt; 
            font-weight: bold; 
            color: #2c3e50;
            margin-bottom: 5px;
        }
        .sub-title { 
            font-size: 12pt; 
            color: #7f8c8d;
            margin-bottom: 10px;
        }
        .document-info { 
            text-align: center; 
            margin-bottom: 20px;
            color: #666;
            font-size: 10pt;
        }
        .section { 
            margin-bottom: 25px; 
        }
        .section-title { 
            background: #34495e; 
            color: white; 
            padding: 8px 12px; 
            font-weight: bold; 
            margin-bottom: 15px;
            border-radius: 4px;
            font-size: 12pt;
        }
        .info-grid {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 15px;
        }
        .info-grid td {
            padding: 8px 12px;
            border: 1px solid #bdc3c7;
        }
        .info-label {
            font-weight: bold;
            background: #ecf0f1;
            width: 30%;
        }
        .content-box {
            background: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 5px;
            padding: 15px;
            margin-bottom: 15px;
        }
        .footer {
            margin-top: 30px;
            padding-top: 15px;
            border-top: 1px solid #bdc3c7;
            text-align: center;
            font-size: 9pt;
            color: #7f8c8d;
        }
        .highlight-box {
            background: #fff3cd;
            border: 1px solid #ffeaa7;
            border-radius: 5px;
            padding: 12px;
            margin: 10px 0;
        }
        .empty-text {
            color: #6c757d;
            font-style: italic;
        }
        .tinjauan-section {
            margin-bottom: 10px;
            padding: 8px;
            background: #f8f9fa;
            border-radius: 4px;
        }
        .tinjauan-label {
            font-weight: bold;
            color: #495057;
        }
        .gambar-container {
            text-align: center;
            margin: 20px 0;
        }
        .gambar-container img {
            max-width: 500px;
            max-height: 300px;
            border: 1px solid #ddd;
            padding: 5px;
        }
    </style>
</head>
<body>
    <div class="header">
        <div class="main-title">SOAL UJI PRAKTIK - SOCA OSCE SYSTEM</div>
        <div class="sub-title">Fakultas Kedokteran Gigi</div>
        <div class="document-info">
            '.htmlspecialchars($soal['nomor_registrasi']).' | Department: '.htmlspecialchars($soal['department']).' | Dibuat: '.$tanggal_dibuat.'
        </div>
    </div>

    <!-- Informasi Dasar -->
    <div class="section">
        <div class="section-title">INFORMASI DASAR</div>
        <table class="info-grid">
            <tr>
                <td class="info-label">Nomor Registrasi</td>
                <td>'.htmlspecialchars($soal['nomor_registrasi']).'</td>
            </tr>
            <tr>
                <td class="info-label">Department</td>
                <td>'.htmlspecialchars($soal['department']).'</td>
            </tr>
            <tr>
                <td class="info-label">Penulis</td>
                <td>'.htmlspecialchars($soal['penulis'] ?? '-').'</td>
            </tr>
            <tr>
                <td class="info-label">Tanggal Dibuat</td>
                <td>'.$tanggal_dibuat.'</td>
            </tr>
        </table>
    </div>

    <!-- Klasifikasi Soal -->
    <div class="section">
        <div class="section-title">KLASIFIKASI SOAL</div>
        <div class="content-box">
            <div class="tinjauan-section">
                <span class="tinjauan-label">Kompetensi Utama (Tinjauan 1):</span><br>
                '.htmlspecialchars($soal['tinjauan1'] ?? '-').'
            </div>
            <div class="tinjauan-section">
                <span class="tinjauan-label">Kelompok Penyakit/Kelainan (Tinjauan 2):</span><br>
                '.htmlspecialchars($soal['tinjauan2'] ?? '-').'
            </div>
            <div class="tinjauan-section">
                <span class="tinjauan-label">Penyakit/Kelainan (Sub Tinjauan 2):</span><br>
                '.htmlspecialchars($soal['sub_tinjauan2'] ?? '-').'
            </div>
            <div class="tinjauan-section">
                <span class="tinjauan-label">Ranah Keterampilan Klinis (Tinjauan 3):</span><br>
                '.htmlspecialchars($soal['tinjauan3'] ?? '-').'
            </div>
            <div class="tinjauan-section">
                <span class="tinjauan-label">Bidang Ilmu (Tinjauan 4):</span><br>
                '.htmlspecialchars($soal['tinjauan4'] ?? '-').'
            </div>
        </div>
    </div>

    <!-- Gambar Soal -->
    '.($gambar_html ? '
    <div class="section">
        <div class="section-title">GAMBAR SOAL</div>
        <div class="content-box">
            '.$gambar_html.'
        </div>
    </div>
    ' : '').'

    <!-- Tujuan Pembelajaran -->
    '.(!empty($soal['tujuan']) ? '
    <div class="section">
        <div class="section-title">TUJUAN PEMBELAJARAN</div>
        <div class="content-box">
            '.nl2br(htmlspecialchars($soal['tujuan'])).'
        </div>
    </div>
    ' : '').'

    <!-- Skenario Klinik -->
    <div class="section">
        <div class="section-title">SKENARIO KLINIK</div>
        <div class="content-box">
            '.(!empty($soal['skenario_klinik']) ? nl2br(htmlspecialchars($soal['skenario_klinik'])) : '<span class="empty-text">Tidak ada skenario klinik</span>').'
        </div>
    </div>

    <!-- Tugas untuk Kandidat -->
    '.(!empty($soal['tugas_kandidat']) ? '
    <div class="section">
        <div class="section-title">TUGAS UNTUK KANDIDAT</div>
        <div class="content-box">
            '.nl2br(htmlspecialchars($soal['tugas_kandidat'])).'
        </div>
    </div>
    ' : '').'

    <!-- Tugas untuk Penguji -->
    '.(!empty($soal['tugas_penguji']) ? '
    <div class="section">
        <div class="section-title">TUGAS UNTUK PENGUJI</div>
        <div class="content-box">
            '.nl2br(htmlspecialchars($soal['tugas_penguji'])).'
        </div>
    </div>
    ' : '').'

    <!-- Instruksi Untuk Pasien Simulasi -->
    '.(!empty($soal['instruksi_pasien']) ? '
    <div class="section">
        <div class="section-title">INSTRUKSI UNTUK PASIEN SIMULASI</div>
        <div class="content-box">
            '.nl2br(htmlspecialchars($soal['instruksi_pasien'])).'
        </div>
    </div>
    ' : '').'

    <!-- Peralatan yang Dibutuhkan -->
    '.(!empty($soal['peralatan']) ? '
    <div class="section">
        <div class="section-title">PERALATAN YANG DIBUTUHKAN</div>
        <div class="content-box">
            '.nl2br(htmlspecialchars($soal['peralatan'])).'
        </div>
    </div>
    ' : '').'

    <!-- Referensi -->
    '.(!empty($soal['referensi']) ? '
    <div class="section">
        <div class="section-title">REFERENSI</div>
        <div class="content-box">
            '.nl2br(htmlspecialchars($soal['referensi'])).'
        </div>
    </div>
    ' : '').'

    <!-- Catatan untuk Penguji -->
    <div class="section">
        <div class="section-title">CATATAN UNTUK PENGUJI</div>
        <div class="highlight-box">
            <strong>Perhatian:</strong><br>
            - Soal praktik ini menggunakan sistem penilaian berdasarkan aspek penilaian yang telah ditentukan<br>
            - Pastikan semua peralatan tersedia sebelum ujian dimulai<br>
            - Instruksi untuk pasien simulasi harus dipahami dengan baik<br>
            - Nilai peserta akan dihitung berdasarkan checklist aspek penilaian<br>
            - Soal ini termasuk dalam kompetensi: <strong>'.htmlspecialchars($soal['tinjauan1']).'</strong>
        </div>
    </div>

    <div class="footer">
        Dokumen ini dibuat secara otomatis oleh SOCA OSCE System - Fakultas Kedokteran Gigi<br>
        '.date('l, d F Y H:i').'
    </div>
</body>
</html>';
}
?>