diff --git a/.gitignore b/.gitignore index 0c222bc..2e5c28a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ househub_db_data .env data/.hh_app_secret -extract_source.php \ No newline at end of file +extract_source.php +.htaccess \ No newline at end of file diff --git a/docker/schema_family.sql b/docker/schema_family.sql index 0684f5e..4c21399 100644 --- a/docker/schema_family.sql +++ b/docker/schema_family.sql @@ -165,16 +165,18 @@ CREATE TABLE IF NOT EXISTS pf_import_rules ( budget_item_id INT(11) NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -CREATE TABLE IF NOT EXISTS pf_advances ( - id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, - advance_date date NOT NULL, - payer varchar(50) NOT NULL, - description varchar(255) NOT NULL, - amount decimal(10,2) DEFAULT 0.00, - from_savings tinyint(1) DEFAULT 0, - is_resolved tinyint(1) DEFAULT 0, - created_at datetime DEFAULT current_timestamp() -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +CREATE TABLE IF NOT EXISTS `pf_advances` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `advance_date` date NOT NULL, + `payer` varchar(50) NOT NULL, + `description` varchar(255) NOT NULL, + `amount` decimal(10,2) DEFAULT 0.00, + `from_savings` tinyint(1) DEFAULT 0, + `is_resolved` tinyint(1) DEFAULT 0, + `created_at` datetime DEFAULT current_timestamp(), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- ─── Notes / Memo ───────────────────────────────────────────────────────────── CREATE TABLE IF NOT EXISTS pf_notes ( diff --git a/family-calendar.php b/family-calendar.php index a33beb4..6f2e94f 100644 --- a/family-calendar.php +++ b/family-calendar.php @@ -8,11 +8,33 @@ require_login(); require __DIR__ . '/includes/db.php'; require_once __DIR__ . '/includes/i18n.php'; -$stmtPeople = $pdo->query("SELECT id, name, user_id, role FROM pf_people ORDER BY id ASC"); +// 1. Récupération de toutes les personnes avec leurs modes de garde +$stmtPeople = $pdo->query("SELECT id, name, user_id, role, care_modes FROM pf_people ORDER BY id ASC"); $familyPeople = $stmtPeople->fetchAll(PDO::FETCH_ASSOC); -$parents = array_values(array_filter($familyPeople, function($p) { - return strtolower($p['role'] ?? '') === 'parent'; -})); + +$parents = []; +$kids = []; + +// Liste de tous les modes de garde actifs dans le foyer +$activeCareModes = []; + +foreach ($familyPeople as $p) { + $role = strtolower($p['role'] ?? ''); + if ($role === 'parent') { + $parents[] = $p; + } elseif ($role === 'enfant') { + // Décodage sécurisé des modes de garde + $modes = json_decode($p['care_modes'] ?? '[]', true); + if (!is_array($modes)) $modes = []; + $p['modes'] = $modes; + $kids[] = $p; + + foreach ($modes as $m) { + $activeCareModes[$m] = true; + } + } +} +$activeCareModes = array_keys($activeCareModes); // On récupère uniquement les noms uniques $pageTitle = tr('fc_page_title'); $activePage = "family-calendar"; @@ -114,22 +136,17 @@ require __DIR__ . '/header.php'; -
-
-
-
-
@@ -139,7 +156,6 @@ require __DIR__ . '/header.php';
-
@@ -148,7 +164,6 @@ require __DIR__ . '/header.php';
-
@@ -173,18 +188,29 @@ require __DIR__ . '/header.php'; - - - - - - - - + + + + + + + Maladie + + + $parent): + $parentClass = ($index % 2 === 0) ? 'col-alex' : 'col-laia'; + ?> + + - CPJRAJA - CPJRAJA + $parent): + $parentClass = ($index % 2 === 0) ? 'col-alex' : 'col-laia'; + ?> + CP + JRA + JA + $parent): @@ -230,11 +256,23 @@ require __DIR__ . '/header.php';
-
-
-
-
-
+ + $mode): + // Génération d'une couleur pseudo-aléatoire mais fixe par mode + $hue = ($index * 137) % 360; + ?> +
+
+ +
+ + + +
+
+ Maladie +
+
@@ -243,32 +281,11 @@ require __DIR__ . '/header.php'; diff --git a/generate_css_prompt.php b/generate_css_prompt.php deleted file mode 100644 index 600c5ff..0000000 --- a/generate_css_prompt.php +++ /dev/null @@ -1,59 +0,0 @@ -isDir()) continue; - - $filePath = $file->getPathname(); - $relativePath = str_replace($root, '', $filePath); - $ext = pathinfo($filePath, PATHINFO_EXTENSION); - - // 1. EXTRACTION DES FICHIERS .css - if ($ext === 'css') { - $report .= "/* 📄 FICHIER SOURCE : $relativePath */\n"; - $report .= file_get_contents($filePath) . "\n"; - $report .= str_repeat("-", 40) . "\n\n"; - } - - // 2. EXTRACTION DES BALISES