From 6aaee59b3d6341ab2f9bc02caaea31dff980b1f7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 6 Mar 2026 22:02:32 +0000 Subject: [PATCH] fix: address code review feedback (DB filename, migration query, error handling) Co-authored-by: naielv <109038805+naielv@users.noreply.github.com> --- public_html/_incl/db.php | 4 ++-- public_html/_incl/migrations/002_import_json.php | 5 +++-- public_html/sysadmin/aularios.php | 7 +++++-- public_html/sysadmin/centros.php | 4 ++-- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/public_html/_incl/db.php b/public_html/_incl/db.php index 5980588..ce53f17 100644 --- a/public_html/_incl/db.php +++ b/public_html/_incl/db.php @@ -4,12 +4,12 @@ * * Provides a PDO SQLite connection and a lightweight migration runner. * All application data previously stored as JSON files under /DATA is now - * persisted in /DATA/axia4.db. + * persisted in /DATA/axia4.sqlite. * * Usage: db() → returns the shared PDO instance (auto-migrates on first call). */ -define('DB_PATH', '/DATA/axia4.db'); +define('DB_PATH', '/DATA/axia4.sqlite'); define('MIGRATIONS_DIR', __DIR__ . '/migrations'); // ── Connection ──────────────────────────────────────────────────────────────── diff --git a/public_html/_incl/migrations/002_import_json.php b/public_html/_incl/migrations/002_import_json.php index cbc5e9c..869c674 100644 --- a/public_html/_incl/migrations/002_import_json.php +++ b/public_html/_incl/migrations/002_import_json.php @@ -63,8 +63,9 @@ if (is_dir($users_dir)) { $user_id = (int) $db->lastInsertId(); if ($user_id === 0) { // Already existed – look it up - $row = $db->prepare("SELECT id FROM users WHERE username = ?")->execute([$username]); - $user_id = (int) $db->query("SELECT id FROM users WHERE username = " . $db->quote($username))->fetchColumn(); + $stmt2 = $db->prepare("SELECT id FROM users WHERE username = ?"); + $stmt2->execute([$username]); + $user_id = (int) $stmt2->fetchColumn(); } // Entreaulas centro assignment diff --git a/public_html/sysadmin/aularios.php b/public_html/sysadmin/aularios.php index 1a1651b..434e717 100644 --- a/public_html/sysadmin/aularios.php +++ b/public_html/sysadmin/aularios.php @@ -72,8 +72,11 @@ switch ($form_action) { Sf($_POST["name"] ?? ""), Sf($_POST["icon"] ?? "/static/logo-entreaulas.png"), ]); - // Create Alumnos directory for photo-based features - @mkdir("/DATA/entreaulas/Centros/$centro_id/Aularios/$aulario_id/Proyectos/", 0755, true); + // Create Proyectos directory for project file storage + $proyectos_dir = "/DATA/entreaulas/Centros/$centro_id/Aularios/$aulario_id/Proyectos/"; + if (!is_dir($proyectos_dir)) { + mkdir($proyectos_dir, 0755, true); + } header("Location: ?action=index"); exit(); break; diff --git a/public_html/sysadmin/centros.php b/public_html/sysadmin/centros.php index 2aa6be5..e4de35f 100644 --- a/public_html/sysadmin/centros.php +++ b/public_html/sysadmin/centros.php @@ -32,8 +32,8 @@ switch ($form_action) { db()->prepare("INSERT INTO centros (centro_id) VALUES (?)")->execute([$centro_id]); // Keep filesystem directory for activity photos (Panel/Actividades) $centro_path = "/DATA/entreaulas/Centros/$centro_id"; - if (!is_dir($centro_path)) { - mkdir($centro_path, 0755, true); + if (!is_dir($centro_path) && !mkdir($centro_path, 0755, true) && !is_dir($centro_path)) { + error_log("centros.php: failed to create directory $centro_path"); } header("Location: ?action=index"); exit();