'No se ha iniciado sesión'])); $user = unserialize($_SESSION['user']); $ruta = "../"; require_once "../include/bd_pdo.php"; // if method is get header("Content-Type: application/json"); if ($_SERVER['REQUEST_METHOD'] === 'GET') { $user->print_to_log("Acceso a reposiciones"); $reposiciones = $db ->where('periodo_id', $_GET['periodo_id'] ?? null) ->where('profesor_id', $_GET['profesor_id'] ?? []) ->get("reposicion"); echo json_encode([ 'status' => 'success', 'reposiciones' => $reposiciones ]); } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { $user->print_to_log("Creación de reposición", new: $params); try { $requiredParams = ['horario_id', 'fecha', 'hora', 'duracion_id', 'descripcion', 'profesor_id', 'salon', 'unidad', 'periodo_id', 'fecha_clase']; // Filter params based on requiredParams $params = array_filter($_POST, function ($key) use ($requiredParams) { return in_array($key, $requiredParams); }, ARRAY_FILTER_USE_KEY); // Check if all required params are present if (count($params) !== count($requiredParams)) { throw new Exception('Falta uno o más parámetros requeridos'); } $db->insert("reposicion", $params); // Return success response echo json_encode([ "status" => "success", "message" => "Reposición creada correctamente", ]); } catch (Exception $e) { // Return error response echo json_encode([ "status" => "error", "message" => "No se pudo crear la reposición", "error" => $e->getMessage(), ]); } }