[ #'periodo_id', ], ]; $ruta = "../"; require_once "../class/c_login.php"; // check method try { if ($_SERVER['REQUEST_METHOD'] === 'GET') { array_walk($information['GET'], function ($value) { if (!array_key_exists($value, $_GET)) { http_response_code(400); echo json_encode(['error' => "$value is required"]); exit; } }); $data = $db->query( "WITH horarios AS ( SELECT * FROM horario_view WHERE (periodo_id, facultad_id) = (:periodo_id, :facultad_id) ), fechas AS ( SELECT fechas_clase(h.horario_id) as registro_fecha_ideal, h.horario_id FROM horarios h ) SELECT estado_supervisor.*, usuario.*, registro.*, profesor.*, horarios.*, fechas.* FROM horarios JOIN fechas using (horario_id) JOIN horario_profesor using (horario_id) JOIN profesor using (profesor_id) LEFT JOIN registro USING (horario_id, registro_fecha_ideal, profesor_id) left join estado_supervisor using (estado_supervisor_id) LEFT JOIN USUARIO ON USUARIO.usuario_id = REGISTRO.supervisor_id", [ ':periodo_id' => $_GET['periodo_id'], ':facultad_id' => $_GET['facultad_id'], ] ); $last_query = [ 'query' => $db->getLastQuery(), ]; echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); } else { http_response_code(405); echo json_encode(['error' => 'method not allowed']); exit; } } catch (PDOException $th) { http_response_code(500); echo json_encode([ 'error' => $th->getMessage(), 'query' => $db->getLastQuery(), ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_PARTIAL_OUTPUT_ON_ERROR); exit; } catch (Exception $th) { http_response_code(500); echo json_encode([ 'error' => $th->getMessage(), ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); exit; }