diff --git a/htdocs/theme/dev/dev.css b/htdocs/theme/dev/dev.css index e38a963fe54..80d2f282b01 100644 --- a/htdocs/theme/dev/dev.css +++ b/htdocs/theme/dev/dev.css @@ -100,7 +100,7 @@ a.tmenu { margin-right: 3px; text-decoration: none; - color:gray; + color: #505050; font-weight:bold; font-size:11px; } @@ -108,7 +108,7 @@ a.tmenu a.tmenu#sel { border-bottom:4px solid #9d9da1; - color:black; + color: #000000; } a.tmenu:hover @@ -172,17 +172,17 @@ a.vmenu { padding-bottom:3px; text-decoration:none; - color:gray; + color: #505050; font-weight:bold; font-size:11px; - } +} a.vsmenu { margin-left: 8px; padding-bottom:3px; text-decoration:none; - color:gray; + color: #505050; font-weight:bold; font-size:11px; } @@ -191,15 +191,32 @@ a.vmenu:hover { border-color:gray; text-decoration: none; - color:black; + color: #000000; } a.vsmenu:hover { border-color:gray; - color:black; + color: #000000; } +font.vmenudisabled +{ + padding-bottom:3px; + text-decoration:none; + color: #A0A0A0; + font-weight:bold; + font-size:11px; +} +font.vsmenudisabled +{ + margin-left: 8px; + padding-bottom:3px; + text-decoration:none; + color: #A0A0A0; + font-weight:bold; + font-size:11px; +} table.liste @@ -299,15 +316,6 @@ textarea.flat /* * Onglets */ -div.tabs -{ - top: 20px; - margin: 1px 0em 0em 0em; - padding: 0em 0.5em; - text-align: left; - font-family: sans-serif; font-size: 12px; - } - div.tabBar { float: none; @@ -318,7 +326,16 @@ div.tabBar padding-bottom: 14px; margin: 0px 0px 10px 0px; border: 1px solid #8CACBB; - } +} + +div.tabs +{ + top: 20px; + margin: 1px 0em 0em 0em; + padding: 0em 0.5em; + text-align: left; + font-family: sans-serif; font-size: 12px; +} /* @@ -379,12 +396,18 @@ div.error { border: 1px solid #6C7C8B; } +div.info { + color: #999999; + padding: 0.2em 0.2em 0.2em 0.2em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #ACACAB; +} a.tab:link { background: white; border: 1px solid #8CACBB; - color: #436976; + color: #222233; font: 100% Bold; padding: 0em 1.0em; margin: 0em 0.5em; @@ -394,7 +417,7 @@ a.tab:link { a.tab:visited { background: white; border: 1px solid #8CACBB; - color: #436976; + color: #222233; font: 100% Bold; padding: 0em 1.0em; margin: 0em 0.5em; diff --git a/htdocs/theme/dev/graph-color.php b/htdocs/theme/dev/graph-color.php index 7135515c62d..5f0d7ce517f 100755 --- a/htdocs/theme/dev/graph-color.php +++ b/htdocs/theme/dev/graph-color.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004 Laurent Destailleur +/* Copyright (C) 2004 Rodolphe Quiedeville + * Copyright (C) 2004-2006 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,15 +18,19 @@ * * $Id$ * $Source$ - * */ -/*! - \file htdocs/theme/eldy/graph-color.php - \brief Fichier de déclaration des couleurs pour les graphiques - \version $Revision$ +/** + \file htdocs/theme/dev/graph-color.php + \brief Fichier de déclaration des couleurs pour les graphiques + \ingroup core + \version $Revision$ */ -$theme_bgcolor = array(224,224,224); +global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; +$theme_bordercolor = array(235,235,224); +$theme_datacolor = array(array(120,130,150), array(160,160,180), array(190,190,220)); +$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); +$theme_bgcoloronglet = array(hexdec('DC'),hexdec('DC'),hexdec('D3')); ?> diff --git a/htdocs/theme/eldy/eldy.css.php b/htdocs/theme/eldy/eldy.css.php index 586083a3593..44c1b013687 100644 --- a/htdocs/theme/eldy/eldy.css.php +++ b/htdocs/theme/eldy/eldy.css.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2006 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,9 +20,9 @@ */ /** - \file htdocs/theme/eldy/eldy.css.php - \brief Fichier de style CSS du theme Eldy - \version $Revision$ + \file htdocs/theme/eldy/eldy.css.php + \brief Fichier de style CSS du theme Eldy + \version $Revision$ */ require("../../conf/conf.php"); @@ -402,6 +402,7 @@ div.tabsAction { text-align: right; } +/* onglet_inf ne sert qu'a telephonie. A virer */ div.onglet_inf { position: relative; diff --git a/htdocs/theme/eldy/graph-color.php b/htdocs/theme/eldy/graph-color.php index 28b154b995a..dc087c8f29b 100755 --- a/htdocs/theme/eldy/graph-color.php +++ b/htdocs/theme/eldy/graph-color.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004 Laurent Destailleur +/* Copyright (C) 2004 Rodolphe Quiedeville + * Copyright (C) 2004-2006 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,16 +18,19 @@ * * $Id$ * $Source$ - * */ /** - \file htdocs/theme/eldy/graph-color.php - \brief Fichier de déclaration des couleurs pour les graphiques - \version $Revision$ + \file htdocs/theme/eldy/graph-color.php + \brief Fichier de déclaration des couleurs pour les graphiques + \ingroup core + \version $Revision$ */ -//$theme_bgcolor = array(224,221,224); -$theme_bgcolor = array(241,241,241); +global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; +$theme_bordercolor = array(235,235,224); +$theme_datacolor = array(array(120,130,150), array(160,160,180), array(190,190,220)); +$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); +$theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); ?> diff --git a/htdocs/theme/freelug/graph-color.php b/htdocs/theme/freelug/graph-color.php index 1116d2a4cf2..03f68a85d0e 100755 --- a/htdocs/theme/freelug/graph-color.php +++ b/htdocs/theme/freelug/graph-color.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004 Laurent Destailleur +/* Copyright (C) 2004 Rodolphe Quiedeville + * Copyright (C) 2004-2006 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,15 +18,19 @@ * * $Id$ * $Source$ - * */ -/*! - \file htdocs/theme/eldy/graph-color.php - \brief Fichier de déclaration des couleurs pour les graphiques - \version $Revision$ +/** + \file htdocs/theme/freelug/graph-color.php + \brief Fichier de déclaration des couleurs pour les graphiques + \ingroup core + \version $Revision$ */ -$theme_bgcolor = array(224,221,224); +global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; +$theme_bordercolor = array(235,235,224); +$theme_datacolor = array(array(120,130,150), array(160,160,180), array(190,190,220)); +$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); +$theme_bgcoloronglet = array(hexdec('DC'),hexdec('DC'),hexdec('D0')); ?> diff --git a/htdocs/theme/yellow/graph-color.php b/htdocs/theme/yellow/graph-color.php index 3c41cc25f7b..45fa9c4a18b 100755 --- a/htdocs/theme/yellow/graph-color.php +++ b/htdocs/theme/yellow/graph-color.php @@ -18,15 +18,19 @@ * * $Id$ * $Source$ - * */ -/*! - \file htdocs/theme/eldy/graph-color.php - \brief Fichier de déclaration des couleurs pour les graphiques - \version $Revision$ +/** + \file htdocs/theme/yellow/graph-color.php + \brief Fichier de déclaration des couleurs pour les graphiques + \ingroup core + \version $Revision$ */ -$theme_bgcolor = array(224,224,221); +global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; +$theme_bordercolor = array(235,235,224); +$theme_datacolor = array(array(120,130,150), array(160,160,180), array(190,190,220)); +$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); +$theme_bgcoloronglet = array(hexdec('DC'),hexdec('DC'),hexdec('D3')); ?> diff --git a/scripts/banque/graph-solde.php b/scripts/banque/graph-solde.php index f8cadb11f28..b0800150aca 100644 --- a/scripts/banque/graph-solde.php +++ b/scripts/banque/graph-solde.php @@ -1,6 +1,7 @@ #!/usr/bin/php + * Copyright (C) 2006 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,37 +35,12 @@ if (substr($sapi_type, 0, 3) == 'cgi') { exit; } - // Recupere root dolibarr $path=eregi_replace('graph-solde.php','',$_SERVER["PHP_SELF"]); require_once($path."../../htdocs/master.inc.php"); +require_once($path."../../htdocs/dolgraph.class.php"); -// Vérifie que chemin vers JPGRAHP est connu et defini $jpgraph -if (! $conf->global->JPGRAPH_DIR && ! defined('JPGRAPH_PATH')) -{ - print 'Erreur: Définissez la constante JPGRAPH_PATH sur la valeur du répertoire contenant JPGraph'; - exit; -} -if (! $conf->global->JPGRAPH_DIR) $conf->global->JPGRAPH_DIR=JPGRAPH_PATH; -$jpgraphdir=$conf->global->JPGRAPH_DIR; -if (! eregi('[\\\/]$',$jpgraphdir)) $jpgraphdir.='/'; - -if (! file_exists($jpgraphdir."jpgraph.php")) -{ - print 'Erreur: Impossible de trouver les librairies graphiques.'."\n"; - print 'Vérifier la variable JPGRAPH_PATH'; - if ($conf->global->JPGRAPH_DIR) print ' ('.$conf->global->JPGRAPH_DIR.')'."\n"; - elseif (defined('JPGRAPH_PATH')) print ' ('.JPGRAPH_PATH.')'."\n"; - exit; -} - -include_once($jpgraphdir."jpgraph.php"); -include_once($jpgraphdir."jpgraph_line.php"); -include_once($jpgraphdir."jpgraph_bar.php"); -include_once($jpgraphdir."jpgraph_pie.php"); -include_once($jpgraphdir."jpgraph_error.php"); -include_once($jpgraphdir."jpgraph_canvas.php"); $error = 0; @@ -144,41 +120,50 @@ if ($resql) } -$account = 1; + +$width = 750; +$height = 350; + foreach ($accounts as $account) { - $labels = array(); - $datas = array(); - $amounts = array(); + $datetime = time(); + $year = strftime("%Y", $datetime); + $month = strftime("%m", $datetime); + $day = strftime("%d", $datetime); + + + // Definition de $width et $height + $width = 750; + $height = 280; - $sql = "SELECT sum(amount)"; + // Calcul de $min et $max + $sql = "SELECT min(".$db->pdate("datev")."),max(".$db->pdate("datev").")"; $sql .= " FROM ".MAIN_DB_PREFIX."bank"; $sql .= " WHERE fk_account = ".$account; - $sql .= " AND datev < '".$year."-".$month."-01';"; - $resql = $db->query($sql); if ($resql) { + $num = $db->num_rows($resql); $row = $db->fetch_row($resql); - $solde = $row[0]; + $min = $row[0]; + $max = $row[1]; } else { - print $sql ; + dolibarr_print_error($db); } +// print strftime("%Y%m%d",$max); - + // Chargement du tableau $amounts + // \todo peut etre optimise en virant les date_format + $amounts = array(); $sql = "SELECT date_format(datev,'%Y%m%d'), sum(amount)"; $sql .= " FROM ".MAIN_DB_PREFIX."bank"; $sql .= " WHERE fk_account = ".$account; $sql .= " AND date_format(datev,'%Y%m') = '".$year.$month."'"; - $sql .= " GROUP BY date_format(datev,'%Y%m%d');"; - + $sql .= " GROUP BY date_format(datev,'%Y%m%d')"; $resql = $db->query($sql); - - $amounts = array(); - if ($resql) { $num = $db->num_rows($resql); @@ -193,9 +178,30 @@ foreach ($accounts as $account) } else { - print $sql ; + dolibarr_print_error($db); } + // Calcul de $solde avant le debut du graphe + $solde = 0; + $sql = "SELECT sum(amount)"; + $sql .= " FROM ".MAIN_DB_PREFIX."bank"; + $sql .= " WHERE fk_account = ".$account; + $sql .= " AND datev < '".$year."-".sprintf("%02s",$month)."-01'"; + $resql = $db->query($sql); + if ($resql) + { + $row = $db->fetch_row($resql); + $solde = $row[0]; + } + else + { + dolibarr_print_error($db); + } + + // Chargement de labels et datas pour tableau 1 + $labels = array(); + $datas = array(); + $subtotal = 0; $day = mktime(1,1,1,$month,1,$year); @@ -205,18 +211,16 @@ foreach ($accounts as $account) while ($xmonth == $month) { //print strftime ("%e %d %m %y",$day)."\n"; - - $subtotal = $subtotal + $amounts[strftime("%Y%m%d",$day)]; - + $subtotal = $subtotal + (isset($amounts[strftime("%Y%m%d",$day)]) ? $amounts[strftime("%Y%m%d",$day)] : 0); if ($day > time()) { - $datas[$i] = 0; + $datas[$i] = ''; // Valeur spéciale permettant de ne pas tracer le graph } else { $datas[$i] = $solde + $subtotal; } - + //$labels[$i] = strftime("%d",$day); $labels[$i] = strftime("%d",$day); $day += 86400; @@ -224,69 +228,36 @@ foreach ($accounts as $account) $i++; } - $width = 750; - $height = 350; - - $graph = new Graph($width, $height,"auto"); - $graph->SetScale("textlin"); - - $graph->yaxis->scale->SetGrace(2); - $graph->SetFrame(1); - $graph->img->SetMargin(60,20,20,35); - - $b2plot = new BarPlot($datas); - - $b2plot->SetColor("blue"); - //$b2plot->SetWeight(2); - - $graph->title->Set("Solde $month $year"); - - $graph->xaxis->SetTickLabels($labels); - //$graph->xaxis->title->Set(strftime("%d/%m/%y %H:%M:%S", time())); - - $graph->Add($b2plot); - $graph->img->SetImgFormat("png"); + // Fabrication tableau 1 $file= $conf->banque->dir_images."/solde.$account.$year.$month.png"; + $title=$langs->trans("Balance").' '.$langs->trans("Month").': '.$month.' '.$langs->trans("Year").': '.$year; + $graph_datas=array(); + foreach($datas as $i => $val) + { + $graph_datas[$i]=array("$labels[$i]",$datas[$i]); + } + $px = new DolGraph(); + $px->SetData($graph_datas); + $px->SetLegend(array($langs->trans("Balance"))); + $px->SetMaxValue($px->GetCeilMaxValue()); + $px->SetMinValue($px->GetFloorMinValue()); + $px->SetTitle($title); + $px->SetWidth($width); + $px->SetHeight($height); + $px->SetType('lines'); + $px->draw($file); - $graph->Stroke($file); -} -/* -* Graph annuels -* -*/ -foreach ($accounts as $account) -{ - $labels = array(); - $datas = array(); + + // Chargement du tableau $amounts + // \todo peut etre optimise en virant les date_format $amounts = array(); - - $sql = "SELECT sum(amount)"; - $sql .= " FROM ".MAIN_DB_PREFIX."bank"; - $sql .= " WHERE fk_account = ".$account; - $sql .= " AND datev < '".$year."-01-01';"; - - $resql = $db->query($sql); - if ($resql) - { - $row = $db->fetch_row($resql); - $solde = $row[0]; - } - else - { - print $sql ; - } - $sql = "SELECT date_format(datev,'%Y%m%d'), sum(amount)"; $sql .= " FROM ".MAIN_DB_PREFIX."bank"; $sql .= " WHERE fk_account = ".$account; $sql .= " AND date_format(datev,'%Y') = '".$year."'"; - $sql .= " GROUP BY date_format(datev,'%Y%m%d');"; - + $sql .= " GROUP BY date_format(datev,'%Y%m%d')"; $resql = $db->query($sql); - - $amounts = array(); - if ($resql) { $num = $db->num_rows($resql); @@ -301,8 +272,29 @@ foreach ($accounts as $account) } else { - dolibarr_syslog("graph-solde.php Error"); + dolibarr_print_error($db); } + + // Calcul de $solde avant le debut du graphe + $solde = 0; + $sql = "SELECT sum(amount)"; + $sql .= " FROM ".MAIN_DB_PREFIX."bank"; + $sql .= " WHERE fk_account = ".$account; + $sql .= " AND datev < '".$year."-01-01'"; + $resql = $db->query($sql); + if ($resql) + { + $row = $db->fetch_row($resql); + $solde = $row[0]; + } + else + { + dolibarr_print_error($db); + } + + // Chargement de labels et datas pour tableau 2 + $labels = array(); + $datas = array(); $subtotal = 0; @@ -312,26 +304,19 @@ foreach ($accounts as $account) $i = 0; while ($xyear == $year) { - //print strftime ("%e %d %m %y",$day)."\n"; - - $subtotal = $subtotal + $amounts[strftime("%Y%m%d",$day)]; - + $subtotal = $subtotal + (isset($amounts[strftime("%Y%m%d",$day)]) ? $amounts[strftime("%Y%m%d",$day)] : 0); + //print strftime ("%e %d %m %y",$day)." ".$subtotal."\n
"; if ($day > time()) { - $datas[$i] = 'x'; // Valeur spéciale permettant de ne pas tracer le graph + $datas[$i] = ''; // Valeur spéciale permettant de ne pas tracer le graph } else { $datas[$i] = $solde + $subtotal; } - - if (strftime("%d",$day) == 1) + if (strftime("%d",$day) == 15) { - $labels[$i] = strftime("%d",$day); - } - else - { - + $labels[$i] = strftime("%m",$day); } $day += 86400; @@ -339,77 +324,33 @@ foreach ($accounts as $account) $i++; } - $width = 750; - $height = 350; - - $graph = new Graph($width, $height,"auto"); - $graph->SetScale("textlin"); - - $graph->yaxis->scale->SetGrace(2); - $graph->SetFrame(1); - $graph->img->SetMargin(60,20,20,35); - - $b2plot = new LinePlot($datas); - - $b2plot->SetColor("blue"); - //$b2plot->SetWeight(2); - - $graph->title->Set("Solde $year"); - - $graph->xaxis->SetTickLabels($labels); - - $graph->xaxis->Hide(); - //$graph->xaxis->HideTicks(); - - - //$graph->xaxis->title->Set(strftime("%d/%m/%y %H:%M:%S", time())); - - $graph->Add($b2plot); - $graph->img->SetImgFormat("png"); - + // Fabrication tableau 2 $file= $conf->banque->dir_images."/solde.$account.$year.png"; + $title=$langs->trans("Balance").' '.$langs->trans("Year").': '.$year; + $graph_datas=array(); + foreach($datas as $i => $val) + { + $graph_datas[$i]=array(isset($labels[$i])?$labels[$i]:'',$datas[$i]); + } + $px = new DolGraph(); + $px->SetData($graph_datas); + $px->SetLegend(array($langs->trans("Balance"))); + $px->SetMaxValue($px->GetCeilMaxValue()); + $px->SetTitle($title); + $px->SetWidth($width); + $px->SetHeight($height); + $px->SetType('lines'); + $px->draw($file); - $graph->Stroke($file); -} -/* -* Graph annuels -* -*/ -foreach ($accounts as $account) -{ - $labels = array(); - $datas = array(); + // Chargement du tableau $amounts + // \todo peut etre optimise en virant les date_format $amounts = array(); - - $sql = "SELECT min(".$db->pdate("datev")."),max(".$db->pdate("datev").")"; - $sql .= " FROM ".MAIN_DB_PREFIX."bank"; - $sql .= " WHERE fk_account = ".$account; - - $resql = $db->query($sql); - - if ($resql) - { - $num = $db->num_rows($resql); - $row = $db->fetch_row($resql); - $min = $row[0]; - $max = $row[1]; - } - else - { - dolibarr_syslog("graph-solde.php Error"); - } - - $sql = "SELECT date_format(datev,'%Y%m%d'), sum(amount)"; $sql .= " FROM ".MAIN_DB_PREFIX."bank"; $sql .= " WHERE fk_account = ".$account; - $sql .= " GROUP BY date_format(datev,'%Y%m%d');"; - + $sql .= " GROUP BY date_format(datev,'%Y%m%d')"; $resql = $db->query($sql); - - $amounts = array(); - if ($resql) { $num = $db->num_rows($resql); @@ -424,64 +365,61 @@ foreach ($accounts as $account) } else { - dolibarr_syslog("graph-solde.php Error"); + dolibarr_print_error($db); } + // Calcul de $solde avant le debut du graphe + $solde = 0; + + // Chargement de labels et datas pour tableau 3 + $labels = array(); + $datas = array(); $subtotal = 0; $day = $min; $i = 0; - while ($day <= $max) + while ($day <= ($max+1000000)) // On va bien au dela du dernier jour { - //print strftime ("%e %d %m %y",$day)."\n"; - - $subtotal = $subtotal + $amounts[strftime("%Y%m%d",$day)]; - - $datas[$i] = $solde + $subtotal; - - $labels[$i] = strftime("%d",$day); - + $subtotal = $subtotal + (isset($amounts[strftime("%Y%m%d",$day)]) ? $amounts[strftime("%Y%m%d",$day)] : 0); + //print strftime ("%e %d %m %y",$day)." ".$subtotal."\n
"; + if ($day > ($max+86400)) + { + $datas[$i] = ''; // Valeur spéciale permettant de ne pas tracer le graph + } + else + { + $datas[$i] = $solde + $subtotal; + } + if (strftime("%d",$day) == 1) + { + $labels[$i] = strftime("%m",$day); + } $day += 86400; $i++; } - if (sizeof($amounts) > 3) + // Fabrication tableau 3 + $file= $conf->banque->dir_images."/solde.$account.png"; + $title=$langs->trans("Balance"); + $graph_datas=array(); + foreach($datas as $i => $val) { - $width = 750; - $height = 350; + $graph_datas[$i]=array(isset($labels[$i])?$labels[$i]:'',$datas[$i]); + } + $px = new DolGraph(); + $px->SetData($graph_datas); + $px->SetLegend(array($langs->trans("Balance"))); + $px->SetMaxValue($px->GetCeilMaxValue()); + $px->SetMinValue($px->GetFloorMinValue()); + $px->SetTitle($title); + $px->SetWidth($width); + $px->SetHeight($height); + $px->SetType('lines'); + $px->draw($file); - $graph = new Graph($width, $height,"auto"); - $graph->SetScale("textlin"); - $graph->yaxis->scale->SetGrace(2); - $graph->SetFrame(1); - $graph->img->SetMargin(60,20,20,35); - - $b2plot = new LinePlot($datas); - - $b2plot->SetColor("blue"); - - $graph->title->Set("Solde"); - - $graph->xaxis->SetTickLabels($labels); - - $graph->xaxis->Hide(); - - $graph->Add($b2plot); - $graph->img->SetImgFormat("png"); - - $file= $conf->banque->dir_images."/solde.$account.png"; - - $graph->Stroke($file); - } -} - -foreach ($accounts as $account) -{ - $labels = array(); - $datas = array(); - $amounts = array(); + // Chargement du tableau $credits, $debits $credits = array(); $debits = array(); @@ -493,9 +431,6 @@ foreach ($accounts as $account) $sql .= " GROUP BY date_format(datev,'%m');"; $resql = $db->query($sql); - - $amounts = array(); - if ($resql) { $num = $db->num_rows($resql); @@ -510,7 +445,7 @@ foreach ($accounts as $account) } else { - print $sql ; + dolibarr_print_error($db); } $sql = "SELECT date_format(datev,'%m'), sum(amount)"; @@ -530,44 +465,41 @@ foreach ($accounts as $account) } else { - print $sql ; + dolibarr_print_error($db); } + // Chargement de labels et data_xxx pour tableau 4 + $labels = array(); + $data_credit = array(); + $data_debit = array(); for ($i = 0 ; $i < 12 ; $i++) { - $data_credit[$i] = $credits[substr("0".($i+1),-2)]; - $data_debit[$i] = $debits[substr("0".($i+1),-2)]; + $data_credit[$i] = isset($credits[substr("0".($i+1),-2)]) ? $credits[substr("0".($i+1),-2)] : 0; + $data_debit[$i] = isset($debits[substr("0".($i+1),-2)]) ? $debits[substr("0".($i+1),-2)] : 0; $labels[$i] = $i+1; } - $width = 750; - $height = 350; - - $graph = new Graph($width, $height,"auto"); - $graph->SetScale("textlin"); - - $graph->yaxis->scale->SetGrace(2); - //$graph->SetFrame(1); - $graph->img->SetMargin(60,20,20,35); - - $bsplot = new BarPlot($data_debit); - $bsplot->SetColor("red"); - - $beplot = new BarPlot($data_credit); - $beplot->SetColor("green"); - - $bg = new GroupBarPlot(array($beplot, $bsplot)); - - $graph->title->Set("Mouvements $year"); - - $graph->xaxis->SetTickLabels($labels); - - $graph->Add($bg); - $graph->img->SetImgFormat("png"); - + // Fabrication tableau 4 $file= $conf->banque->dir_images."/mouvement.$account.$year.png"; - - $graph->Stroke($file); + $title=$langs->trans("Movements").' '.$langs->trans("Year").': '.$year; + $graph_datas=array(); + foreach($data_credit as $i => $val) + { + $graph_datas[$i]=array($labels[$i],$data_credit[$i],$data_debit[$i]); + } + $px = new DolGraph(); + $px->SetData($graph_datas); + $px->SetLegend(array($langs->trans("Debit"),$langs->trans("Credit"))); + $px->SetMaxValue($px->GetCeilMaxValue()); + $px->SetMinValue($px->GetFloorMinValue()); + $px->SetTitle($title); + $px->SetWidth($width); + $px->SetHeight($height); + $px->SetType('bars'); + $px->SetShading(8); + $px->draw($file); } +$db->close(); + ?>