File "evaluaciones.php"

Full Path: C:/wamp64/www/Formaciones/Vistas/instructor/evaluaciones.php
File size: 3.56 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// Vistas/instructor/evaluaciones.php

// Usamos la lógica que ya tienes en otros controladores
if (!esta_autenticado() || !in_array(usuario_actual()['rol'], ['admin', 'instructor'])) {
    header("Location: index.php");
    exit;
}
?>

<div class="dashboard-container">
    <h1 style="text-shadow: 0 2px 4px rgba(0,0,0,0.2);">📝 Gestión de Evaluaciones</h1>

    <div style="display: grid; grid-template-columns: 350px 1fr; gap: 20px; align-items: start;">
        
        <aside class="card">
            <h3 style="margin-top:0; color:var(--accent-1);">✨ Nueva Evaluación</h3>
            <form method="post" action="index.php?r=instructor/quizzes">
                <?php campo_csrf(); ?>
                <input type="hidden" name="action" value="create_quiz">
                
                <label>Vincular al Curso</label>
                <select name="course_id" required>
                    <option value="">-- Seleccione un curso --</option>
                    <?php 
                    // Usamos la variable $cursos que pasaremos desde el controlador
                    while($c = $cursos->fetch_assoc()): ?>
                        <option value="<?= $c['id'] ?>"><?= h($c['title']) ?></option>
                    <?php endwhile; ?>
                </select>

                <label>Título de la Evaluación</label>
                <input type="text" name="title" placeholder="Ej: Examen Final" required>

                <label>Intentos Permitidos</label>
                <input type="number" name="attempts_allowed" value="1" min="1" max="10">

                <button type="submit" class="btn-primary" style="width: 100%; margin-top: 15px;">
                    Crear Cabecera
                </button>
            </form>
        </aside>

        <section>
            <?php if (isset($evaluaciones) && $evaluaciones->num_rows > 0): ?>
                <?php while($q = $evaluaciones->fetch_assoc()): ?>
                    <div class="card" style="margin-bottom: 20px; border-left: 5px solid var(--accent-1);">
                        <div style="display: flex; justify-content: space-between; align-items: center;">
                            <div>
                                <h3 style="margin:0; color: var(--text);"><?= h($q['title']) ?></h3>
                                <small style="color: #666;">Curso: <strong><?= h($q['course_title'] ?? 'N/A') ?></strong></small>
                            </div>
                            <div style="display: flex; gap: 5px;">
                                <a href="index.php?r=instructor/quizzes/edit&id=<?= $q['id'] ?>" class="btn-primary" style="padding: 5px 12px; font-size: 0.8rem; text-decoration:none;">✏️ Editar / Preguntas</a>
                                <button onclick="confirmarBorrar(<?= $q['id'] ?>)" style="background:#e74c3c; color:white; border:none; padding:5px 12px; border-radius:8px; cursor:pointer; font-size: 0.8rem;">🗑️</button>
                            </div>
                        </div>
                    </div>
                <?php endwhile; ?>
            <?php else: ?>
                <div class="card" style="text-align: center; padding: 40px;">
                    <p style="color: #666;">No hay evaluaciones creadas todavía.</p>
                </div>
            <?php endif; ?>
        </section>
    </div>
</div>

<script>
function confirmarBorrar(id) {
    if(confirm('¿Está seguro de eliminar esta evaluación?')) {
        window.location.href = 'index.php?r=instructor/quizzes/delete&id=' + id;
    }
}
</script>