From 046355d6b0eb7a7aab82204a4493ca094f2cd785 Mon Sep 17 00:00:00 2001 From: morgane Date: Thu, 18 Jun 2026 08:55:35 +0000 Subject: [PATCH] Actualiser api/database.php --- api/database.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/api/database.php b/api/database.php index 492041f..ab76341 100644 --- a/api/database.php +++ b/api/database.php @@ -427,6 +427,40 @@ if (empty($subcatTables)) { ('cereali', 'autre', '📦 Autre', 4) "); } + +// Custom categories table (v2.1) — catégories produit, gérables depuis Config +$catTables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='categories'")->fetchAll(); +if (empty($catTables)) { + $db->exec(" + CREATE TABLE categories ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + key TEXT UNIQUE NOT NULL, + label TEXT NOT NULL, + icon TEXT DEFAULT '📦', + keywords TEXT DEFAULT '', + sort_order INTEGER DEFAULT 0, + is_builtin INTEGER DEFAULT 0 + ); + "); + $db->exec("INSERT INTO categories (key, label, icon, sort_order, is_builtin) VALUES + ('latticini', 'Latticini', '🥛', 1, 1), + ('carne', 'Carne', '🥩', 2, 1), + ('pesce', 'Pesce', '🐟', 3, 1), + ('frutta', 'Frutta', '🍎', 4, 1), + ('verdura', 'Verdura', '🥬', 5, 1), + ('pasta', 'Pasta', '🍝', 6, 1), + ('pane', 'Pane', '🍞', 7, 1), + ('surgelati', 'Surgelati', '🧊', 8, 1), + ('bevande', 'Bevande', '🥤', 9, 1), + ('condimenti', 'Condimenti', '🧂', 10, 1), + ('snack', 'Snack', '🍪', 11, 1), + ('conserve', 'Conserve', '🥫', 12, 1), + ('cereali', 'Cereali', '🌾', 13, 1), + ('igiene', 'Igiene', '🧴', 14, 1), + ('pulizia', 'Pulizia', '🧹', 15, 1), + ('altro', 'Altro', '📦', 16, 1) + "); +} // Internal shopping list table (v1.8.0) — used when SHOPPING_MODE=internal $shopTables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='shopping_list'")->fetchAll();