File "index.php"
Full Path: C:/wamp64/www/Formaciones/index.php
File size: 11.67 KB
MIME-type: text/x-php
Charset: utf-8
<?php
// index.php
ob_start(); // Previene errores de redirección
require_once 'Configuracion/config.php';
require_once 'Configuracion/db.php';
require_once 'ayudantes.php';
// Si no hay ruta, por defecto va al dashboard
$ruta = $_GET['r'] ?? 'dashboard';
switch ($ruta) {
// --- DASHBOARD ---
case 'dashboard':
require_once 'Controladores/EscritorioControlador.php';
(new EscritorioControlador())->index();
break;
// --- AUTENTICACIÓN ---
case 'auth/login':
require_once 'Controladores/AutenticacionControlador.php';
$controlador = new AutenticacionControlador($mysqli, $mysqli_empleados);
($_SERVER['REQUEST_METHOD'] === 'POST') ? $controlador->procesar() : $controlador->mostrarLogin();
break;
// RUTA PARA EL SEGUNDO PASO
case 'auth/login-admin':
require_once 'Controladores/AutenticacionControlador.php';
$controlador = new AutenticacionControlador($mysqli, $mysqli_empleados);
($_SERVER['REQUEST_METHOD'] === 'POST') ? $controlador->procesarAdmin() : $controlador->mostrarLoginAdmin();
break;
case 'auth/logout':
require_once 'Controladores/AutenticacionControlador.php';
$controlador = new AutenticacionControlador($mysqli, $mysqli_empleados);
$controlador->salir();
break;
// --- ADMINISTRACIÓN DE USUARIOS ---
case 'admin/usuarios':
case 'admin/usuarios/guardar':
case 'admin/usuarios/ver':
case 'admin/usuarios/actualizar':
require_once 'Controladores/UsuarioControlador.php';
$controlador = new UsuarioControlador($mysqli, $mysqli_empleados);
if ($ruta === 'admin/usuarios/guardar') $controlador->guardar();
elseif ($ruta === 'admin/usuarios/ver') $controlador->ver();
elseif ($ruta === 'admin/usuarios/actualizar') $controlador->actualizar();
else $controlador->index();
break;
// --- ADMINISTRACIÓN DE CURSOS ---
case 'admin/cursos':
case 'admin/cursos/guardar':
case 'admin/cursos/borrar':
require_once 'Controladores/CursoControlador.php';
$controlador = new CursoControlador($mysqli);
if ($ruta === 'admin/cursos/guardar') $controlador->guardar();
elseif ($ruta === 'admin/cursos/borrar') $controlador->borrar();
else $controlador->index();
break;
// --- ASIGNACIONES ---
case 'admin/asignaciones':
case 'admin/asignaciones/individual':
case 'admin/asignaciones/masiva':
case 'admin/asignaciones/csv':
case 'admin/asignaciones/borrar':
case 'admin/asignaciones/buscar-empleados':
case 'admin/asignaciones/buscar-ccosto':
require_once 'Controladores/AsignacionControlador.php';
$controlador = new AsignacionControlador($mysqli, $mysqli_empleados);
if ($ruta === 'admin/asignaciones/individual') $controlador->asignarIndividual();
elseif ($ruta === 'admin/asignaciones/buscar-empleados') $controlador->buscarEmpleados();
elseif ($ruta === 'admin/asignaciones/buscar-ccosto') $controlador->buscarCCosto();
elseif ($ruta === 'admin/asignaciones/masiva') $controlador->asignarPorCCosto();
elseif ($ruta === 'admin/asignaciones/csv') $controlador->procesarCSV();
elseif ($ruta === 'admin/asignaciones/borrar') $controlador->borrar();
else $controlador->index();
break;
// --- MÓDULO DE INDUCCIÓN ---
case 'admin/induccion':
require_once 'Controladores/InduccionControlador.php';
(new InduccionControlador($mysqli, $mysqli_empleados))->index();
break;
case 'admin/induccion/guardar':
require_once 'Controladores/InduccionControlador.php';
(new InduccionControlador($mysqli, $mysqli_empleados))->guardar();
break;
case 'admin/induccion/eliminar':
require_once 'Controladores/InduccionControlador.php';
(new InduccionControlador($mysqli, $mysqli_empleados))->eliminar();
break;
case 'admin/induccion/descargar':
require_once 'Controladores/InduccionControlador.php';
(new InduccionControlador($mysqli, $mysqli_empleados))->descargar();
break;
case 'admin/induccion/ver-pdf':
require_once 'Controladores/InduccionControlador.php';
(new InduccionControlador($mysqli, $mysqli_empleados))->verPdf();
break;
case 'admin/induccion/borrar':
require_once 'Controladores/InduccionControlador.php';
(new InduccionControlador($mysqli, $mysqli_empleados))->borrar();
break;
// --- MÓDULO DE SIGAS ---
case 'admin/Sigas':
require_once 'Controladores/SigasControlador.php';
(new SigasControlador($mysqli))->index();
break;
case 'admin/Sigas/guardar':
require_once 'Controladores/SigasControlador.php';
(new SigasControlador($mysqli))->guardar();
break;
case 'admin/Sigas/descargar':
require_once 'Controladores/SigasControlador.php';
(new SigasControlador($mysqli))->descargar();
break;
case 'admin/Sigas/ver-pdf':
require_once 'Controladores/SigasControlador.php';
(new SigasControlador($mysqli))->verPdf();
break;
case 'admin/Sigas/borrar':
require_once 'Controladores/SigasControlador.php';
(new SigasControlador($mysqli))->borrar();
break;
// --- MÓDULO DE FORMACION ---
case 'admin/Formacion':
require_once 'Controladores/FormacionControlador.php';
(new FormacionControlador($mysqli))->index();
break;
case 'admin/Formacion/guardar':
require_once 'Controladores/FormacionControlador.php';
(new FormacionControlador($mysqli))->guardar();
break;
case 'admin/Formacion/descargar':
require_once 'Controladores/FormacionControlador.php';
(new FormacionControlador($mysqli))->descargar();
break;
case 'admin/Formacion/ver-pdf':
require_once 'Controladores/FormacionControlador.php';
(new FormacionControlador($mysqli))->verPdf();
break;
case 'admin/Formacion/borrar':
require_once 'Controladores/FormacionControlador.php';
(new FormacionControlador($mysqli))->borrar();
break;
// --- INSTRUCTOR (Materiales y Evaluaciones) ---
case 'instructor/materials':
require_once 'Controladores/MaterialControlador.php';
(new MaterialControlador($mysqli))->index();
break;
case 'instructor/materiales':
case 'instructor/materiales/guardar':
case 'instructor/materiales/subir':
case 'instructor/materiales/borrar':
require_once 'Controladores/MaterialControlador.php';
$ctrl = new MaterialControlador($mysqli);
if ($ruta === 'instructor/materiales/guardar') $ctrl->guardar();
elseif ($ruta === 'instructor/materiales/subir') $ctrl->subirArchivo();
elseif ($ruta === 'instructor/materiales/borrar') $ctrl->borrar();
else $ctrl->index();
break;
case 'instructor/quizzes':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->index();
break;
case 'instructor/quizzes/edit':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->editar();
break;
case 'instructor/quizzes/delete':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->borrar();
break;
case 'instructor/quizzes/delete_question':
require_once 'Controladores/EvaluacionControlador.php';
$ctrl = new EvaluacionControlador($mysqli);
$id_pregunta = (int)$_GET['id'];
$quiz_id = (int)$_GET['quiz_id'];
$ctrl->borrarPregunta($id_pregunta, $quiz_id);
break;
case 'evaluaciones/resultados':
require_once 'Controladores/EvaluacionControlador.php';
$controlador = new EvaluacionControlador($mysqli);
($ruta === 'instructor/quizzes') ? $controlador->index() : $controlador->verResultados();
break;
case 'instructor/dashboard':
require_once 'Controladores/InstructorControlador.php';
(new InstructorControlador($mysqli))->index();
break;
case 'instructor/evaluaciones':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->index();
break;
// Agrega esto en tu index.php
case 'instructor/resultados/excel':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->excel();
break;
// --- ESTUDIANTE (Ver cursos y Diplomas) ---
case 'evaluaciones/courses':
require_once 'Controladores/EstudianteControlador.php';
(new EstudianteControlador($mysqli))->misCursos();
break;
case 'evaluaciones/ver_curso':
require_once 'Controladores/EstudianteControlador.php';
(new EstudianteControlador($mysqli))->verCurso();
break;
// --- MÓDULO DE EVALUACIONES ASIGNADAS (admin, instructor, student) ---
case 'evaluaciones/mis-cursos':
require_once 'Controladores/EvaluacionAsigControlador.php';
(new EvaluacionAsigControlador($mysqli))->misCursos();
break;
case 'evaluaciones/ver-curso':
require_once 'Controladores/EvaluacionAsigControlador.php';
(new EvaluacionAsigControlador($mysqli))->verCurso();
break;
case 'evaluaciones/ver-evaluaciones':
require_once 'Controladores/EvaluacionAsigControlador.php';
(new EvaluacionAsigControlador($mysqli))->verEvaluaciones();
break;
// NUEVA RUTA: Tomar evaluación/quiz
case 'evaluaciones/quiz/take':
require_once 'Controladores/EvaluacionAsigControlador.php';
(new EvaluacionAsigControlador($mysqli))->tomarQuiz();
break;
// NUEVA RUTA: Enviar respuestas del quiz
case 'evaluaciones/quiz/submit':
require_once 'Controladores/EvaluacionAsigControlador.php';
(new EvaluacionAsigControlador($mysqli))->enviarQuiz();
break;
// RUTA CORREGIDA: Diploma con course_id
case 'evaluaciones/diploma':
require_once 'Controladores/EvaluacionAsigControlador.php';
(new EvaluacionAsigControlador($mysqli))->diploma();
break;
// --- MÓDULO DE RESULTADOS rol = (admin - instructor) ---
case 'instructor/resultados':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->verResultados();
break;
// --- DETALLE DE INTENTO (AJAX) ---
case 'instructor/resultados/detalle':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->verDetalleIntento();
break;
// --- DIPLOMA DESDE INSTRUCTOR/ADMIN ---
case 'instructor/resultados/diploma':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->verDiplomaInstructor();
break;
// --- FIRMA DIGITAL DESDE INSTRUCTOR/ADMIN ---
case 'instructor/resultados/firma':
require_once 'Controladores/EvaluacionControlador.php';
(new EvaluacionControlador($mysqli))->verFirmaInstructor();
break;
// --- ERROR 404 ---
default:
header("HTTP/1.0 404 Not Found");
echo "<h1>404 - Página no encontrada</h1>";
break;
}
ob_end_flush();