<?php
// admin/denemesonuc/ajax-sorulari-getir.php
require_once '../../includes/db.php'; 

if (!isset($_GET['exam_id']) || empty($_GET['exam_id'])) {
    echo '<tr><td colspan="8" class="text-danger">Geçersiz Sınav ID!</td></tr>';
    exit;
}

$exam_id = intval($_GET['exam_id']);

// Denemeye ait önceden girilmiş soruları çekiyoruz
$sorularStmt = $db->prepare("SELECT * FROM exam_analysis_keys WHERE exam_id = ? ORDER BY id ASC");
$sorularStmt->execute([$exam_id]);
$sorular = $sorularStmt->fetchAll(PDO::FETCH_ASSOC);

if (!$sorular) {
    echo '<tr><td colspan="8" class="text-muted py-4">Bu denemeye ait soru bulunamadı. Silinmiş olabilir.</td></tr>';
    exit;
}

// Ders ve Konu havuzunu çekiyoruz (Dropdown'ları doldurmak için)
$konular_query = $db->query("SELECT id, ders, konu FROM konular ORDER BY ders ASC, konu ASC")->fetchAll(PDO::FETCH_ASSOC);
$havuz = [];
foreach($konular_query as $row) {
    $havuz[$row['ders']][] = ['id' => $row['id'], 'konu' => $row['konu']];
}

$html = '';
$rowIndex = 0;

foreach ($sorular as $soru) {
    $ders = $soru['lesson_name'];
    $kayitli_konu = $soru['topic_name'];
    $cevap = $soru['correct_answer'];
    
    // Ders seçeneklerini oluştur (Mevcut ders seçili gelsin)
    $dersOptions = '<option value="">-- Ders Seç --</option>';
    foreach (array_keys($havuz) as $h_ders) {
        $selected = ($h_ders == $ders) ? 'selected' : '';
        $dersOptions .= "<option value=\"{$h_ders}\" {$selected}>{$h_ders}</option>";
    }

    // Konu seçeneklerini oluştur (Seçili dersin konuları gelsin ve mevcut konu seçili olsun)
    $konuOptions = '<option value="">-- Konu Seç --</option>';
    $konuEslesmesiBulundu = false;
    
    if (isset($havuz[$ders])) {
        foreach ($havuz[$ders] as $k) {
            $selected = '';
            if ($k['konu'] == $kayitli_konu) {
                $selected = 'selected';
                $konuEslesmesiBulundu = true;
            }
            $konuOptions .= "<option value=\"{$k['id']}\" {$selected}>{$k['konu']}</option>";
        }
    }
    
    // Eğer konu havuzda yoksa veya silinmişse ama bu soruda kayıtlıysa, YENİ olarak seçtirelim
    $yeniSecili = !$konuEslesmesiBulundu ? 'selected' : '';
    $konuOptions .= "<option value=\"YENI\" class=\"fw-bold text-primary bg-light\" {$yeniSecili}>++ Listede Yok (Yeni Konu Yaz) ++</option>";

    $iptalChecked = ($soru['is_canceled'] == 1) ? 'checked' : '';
    $iptalBg = ($soru['is_canceled'] == 1) ? 'bg-danger bg-opacity-10' : '';

    $html .= '
    <tr class="'.$iptalBg.'">
        <td class="align-middle fw-bold text-secondary">
            Soru '.$soru['a_question_no'].'
            <input type="hidden" name="sorular['.$rowIndex.'][a_no]" value="'.$soru['a_question_no'].'">
        </td>
        <td>
            <select name="sorular['.$rowIndex.'][ders]" class="form-select form-select-sm select-ders" required>
                '.$dersOptions.'
            </select>
        </td>
        <td>
            <select name="sorular['.$rowIndex.'][konu_id]" class="form-select form-select-sm select-konu" required>
                '.$konuOptions.'
            </select>
            <input type="text" name="sorular['.$rowIndex.'][yeni_konu]" class="form-control form-control-sm mt-1 input-yeni-konu" placeholder="Yeni Konu Adı" value="'.(!$konuEslesmesiBulundu ? htmlspecialchars($kayitli_konu) : '').'" style="display:'.(!$konuEslesmesiBulundu ? 'block' : 'none').';" '.(!$konuEslesmesiBulundu ? '' : 'disabled').'>
        </td>
        <td>
            <select name="sorular['.$rowIndex.'][cevap]" class="form-select form-select-sm fw-bold text-success" required>
                <option value="A" '.($cevap=='A'?'selected':'').'>A</option>
                <option value="B" '.($cevap=='B'?'selected':'').'>B</option>
                <option value="C" '.($cevap=='C'?'selected':'').'>C</option>
                <option value="D" '.($cevap=='D'?'selected':'').'>D</option>
                <option value="E" '.($cevap=='E'?'selected':'').'>E</option>
            </select>
        </td>
        <td><input type="number" name="sorular['.$rowIndex.'][b_no]" class="form-control form-control-sm text-center" value="'.$soru['b_question_no'].'"></td>
        <td><input type="number" name="sorular['.$rowIndex.'][c_no]" class="form-control form-control-sm text-center" value="'.$soru['c_question_no'].'"></td>
        <td><input type="number" name="sorular['.$rowIndex.'][d_no]" class="form-control form-control-sm text-center" value="'.$soru['d_question_no'].'"></td>
        <td class="text-center align-middle">
            <div class="form-check form-switch d-inline-block me-2" title="Soruyu İptal Et (Netten düşülür)">
                <input class="form-check-input" type="checkbox" name="sorular['.$rowIndex.'][is_canceled]" value="1" '.$iptalChecked.'>
                <label class="form-check-label text-danger" style="font-size:12px;">İptal</label>
            </div>
            <button type="button" class="btn btn-sm btn-outline-danger btn-sil" title="Satırı Sil"><i class="bi bi-trash"></i></button>
        </td>
    </tr>';

    $rowIndex++;
}

echo $html;
?>