false, 'message' => 'ID mescola non valido']); exit; } $categorie = require __DIR__ . '/config/mescole_file_categories.php'; try { $db = DBHandlerSelect::getInstance(); $pdo = $db->getConnection(); $sql = "SELECT id, idmescola, categoria, titolo, filename, original_filename, mime_type, filesize, uploaded_at FROM mescole_files WHERE idmescola = ?"; $params = [$idmescola]; if (!empty($categoria)) { $sql .= " AND categoria = ?"; $params[] = $categoria; } $sql .= " ORDER BY uploaded_at DESC"; $stmt = $pdo->prepare($sql); $stmt->execute($params); $rows = []; while ($r = $stmt->fetch(PDO::FETCH_ASSOC)) { $r['categoria_label'] = $categorie[$r['categoria']] ?? $r['categoria']; $r['url'] = 'uploads/mescole/' . $r['idmescola'] . '/' . $r['filename']; $rows[] = $r; } echo json_encode(['success' => true, 'rows' => $rows, 'categorie' => $categorie]); } catch (Throwable $e) { echo json_encode(['success' => false, 'message' => 'Errore server: ' . $e->getMessage()]); }