This commit is contained in:
2023-10-03 18:22:51 +00:00
parent 6f4ee51b55
commit c927cb02bb
22 changed files with 800 additions and 335 deletions

View File

@@ -1,21 +1,41 @@
<?php
header('Content-Type: application/json');
$ruta = "../";
require_once "../class/c_login.php";
// check if the session is started
$user = Login::get_user();
if (Login::is_logged())
$user = Login::get_user();
else {
header('HTTP/1.1 401 Unauthorized');
echo json_encode(['error' => 'No se ha iniciado sesión']);
exit();
}
$ruta = "../";
require_once("../include/bd_pdo.php");
extract($_POST);
$params = ['per' => $_POST['periodo'], 'fac' => $_POST['facultad'], 'car' => $_POST['carrera']];
$user->print_to_log("Acceso a grupos", old: $params);
$grupos = queryAll("SELECT DISTINCT LENGTH(GRUPO), GRUPO FROM fs_horario_basic WHERE PERIODO_ID = COALESCE(:per, PERIODO_ID) AND FACULTAD_ID = COALESCE(:fac, FACULTAD_ID) AND CARRERA_ID = COALESCE(:car, CARRERA_ID) ORDER BY LENGTH(GRUPO), GRUPO", $params);
if (!isset($_GET['carrera_id'])) {
echo json_encode([
'status' => 'error',
'error' => 'No se ha especificado una carrera'
]);
exit();
}
$grupos = array_map(fn ($grupo) => $grupo['grupo'], $grupos);
$grupos = $db->query(<<<SQL
SELECT distinct substring(horario_grupo, 7, 3)::int - 1 as horario_grupo FROM horario_view WHERE
PERIODO_ID = :periodo_id AND
(FACULTAD_ID = :facultad_id OR :facultad_id IS NULL) AND
CARRERA_ID = :carrera_id
GROUP BY horario_grupo
ORDER BY horario_grupo ASC
SQL,
[
':periodo_id' => $user->periodo_id,
':facultad_id' => $user->facultad['facultad_id'],
':carrera_id' => $_GET['carrera_id']
]
);
echo json_encode([
'status' => 'success',
'grupos' => $grupos
]);
echo json_encode(array_map(fn($grupo) => $grupo['horario_grupo'], $grupos));