<?php

require_once "{$_SERVER['DOCUMENT_ROOT']}/class/c_login.php";
header('Content-Type: application/json');

if (!Login::is_logged()) {
    header('HTTP/1.1 401 Unauthorized');
    echo json_encode(['error' => 'No se ha iniciado sesión']);
    exit();
}
$user = Login::get_user();

try {
    switch ($_SERVER['REQUEST_METHOD']) {
        case 'GET':
            $profesor_id = $db
                ->where('profesor_clave', $_GET['profesor'])
                ->getOne('profesor', 'profesor_id');
            // Fetch all puestos
            $horarios = $db->query(<<<SQL
            SELECT * FROM horario

            NATURAL JOIN horario_profesor 
            NATURAL JOIN facultad
            NATURAL LEFT JOIN materia
            NATURAL LEFT JOIN carrera

            WHERE periodo_id = ? AND profesor_id = ?
            SQL,
                [$user->periodo_id, $profesor_id['profesor_id']]
            );

            echo json_encode($horarios);
            break;
        default:
            header('HTTP/1.1 405 Method Not Allowed');
            echo json_encode(['error' => 'Método no permitido']);
            break;
    }
} catch (PDOException $e) {
    echo json_encode([
        'error' => $e->getMessage(),
        'query' => $db->getLastQuery(),
        'exception' => $e->getTraceAsString()
    ]);
}