$categories = new Compta\Categories(); $pie = new \KD2\SVGPie(400, 250); if ($graph == 'recettes') { $data = $stats->repartitionRecettes(); $categories = $categories->getList(Compta\Categories::RECETTES); $pie->setTitle('Répartition des recettes'); } else { $data = $stats->repartitionDepenses(); $categories = $categories->getList(Compta\Categories::DEPENSES); $pie->setTitle('Répartition des dépenses'); } $others = 0; $colors = ['#c71', '#941', '#fa4', '#fd9', '#ffc', '#cc9']; $max = count($colors); $i = 0; foreach ($data as $row) { if ($i++ >= $max) { $others += $row['somme']; } else { $cat = $categories[$row['id_categorie']]; $pie->add(new \KD2\SVGPie_Data($row['somme'], substr($cat['intitule'], 0, 50), $colors[$i - 1])); } } if ($others > 0) { $pie->add(new \KD2\SVGPie_Data($others, 'Autres', '#ccc')); } Static_Cache::store('pie_' . $graph, $pie->output()); } header('Content-Type: image/svg+xml'); Static_Cache::display('pie_' . $graph);
$r->title = 'Caisse'; $data[] = $r; foreach ($banques->getList() as $banque) { $r = new \KD2\SVGPlot_Data($stats->soldeCompte($banque['id'])); $r->title = $banque['libelle']; $data[] = $r; } $plot->setTitle('Solde des comptes et caisses'); } if (!empty($data)) { $labels = []; foreach ($data[0]->get() as $k => $v) { $labels[] = Utils::date_fr('M y', strtotime(substr($k, 0, 4) . '-' . substr($k, 4, 2) . '-01')); } $plot->setLabels($labels); $i = 0; $colors = ['#c71', '#941', '#fa4', '#fd9', '#ffc', '#cc9']; foreach ($data as $line) { $line->color = $colors[$i++]; $line->width = 2; $plot->add($line); if ($i >= count($colors)) { $i = 0; } } } Static_Cache::store('graph_' . $graph, $plot->output()); } header('Content-Type: image/svg+xml'); Static_Cache::display('graph_' . $graph);