From 0face58cc52865a5ebab8607217448adab8bb73e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 21 May 2011 13:00:22 +0000 Subject: [PATCH] Support stack bars for flot graphs --- htdocs/adherents/index.php | 46 ++++++++++++++--- htdocs/lib/functions.lib.php | 99 +++++++++++++++++++++++++++++++----- htdocs/societe/index.php | 9 ++-- 3 files changed, 130 insertions(+), 24 deletions(-) diff --git a/htdocs/adherents/index.php b/htdocs/adherents/index.php index a48e86c87a1..5995dadbe80 100644 --- a/htdocs/adherents/index.php +++ b/htdocs/adherents/index.php @@ -137,15 +137,49 @@ print ''; print ""; -print ''; - - -$var=true; +print ''; +print ''; +print ''; +print '
'.$langs->trans("Statistics").'
'; $SommeA=0; $SommeB=0; $SommeC=0; $SommeD=0; +$dataval=array(); +$datalabels=array(); +foreach ($AdherentType as $key => $adhtype) +{ + $datalabels[]=$adhtype->getNomUrl(0,dol_size(16)); + $dataval['draft'][]=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0; + $dataval['notuptodate'][]=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0; + $dataval['uptodate'][]=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0; + $dataval['resiliated'][]=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0; + $SommeA+=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0; + $SommeB+=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0; + $SommeC+=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0; + $SommeD+=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0; +} +/* +$dataseries[]=array('label'=>$langs->trans("MembersStatusToValid"),'values'=> $dataval['draft']); +$dataseries[]=array('label'=>$langs->trans("MenuMembersNotUpToDate"),'values'=> $dataval['notuptodate']); +$dataseries[]=array('label'=>$langs->trans("MenuMembersUpToDate"),'values'=> $dataval['uptodate']); +$dataseries[]=array('label'=>$langs->trans("MembersStatusResiliated"),'values'=> $dataval['resiliated']); +$data=array('series'=>$dataseries,'xlabel'=>$datalabels); +dol_print_graph('stats',300,180,$data,1,'bar'); +*/ +$dataseries[]=array('label'=>$langs->trans("MenuMembersNotUpToDate"),'values'=>array(round($SommeB))); +$dataseries[]=array('label'=>$langs->trans("MenuMembersUpToDate"),'values'=>array(round($SommeC))); +$dataseries[]=array('label'=>$langs->trans("MembersStatusResiliated"),'values'=>array(round($SommeD))); +$dataseries[]=array('label'=>$langs->trans("MembersStatusToValid"),'values'=>array(round($SommeA))); +$data=array('series'=>$dataseries); +dol_print_graph('stats',300,180,$data,1,'pie'); +print '
'; + +print ''; + + +$var=true; // Summary of members by type print ''; @@ -167,10 +201,6 @@ foreach ($AdherentType as $key => $adhtype) print ''; print ''; print "\n"; - $SommeA+=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0; - $SommeB+=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0; - $SommeC+=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0; - $SommeD+=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0; } print ''; print ''; diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index f76afe9565d..1fc727c02f4 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -1234,7 +1234,8 @@ function dolibarr_trunc($string,$size=40,$trunc='right',$stringencoding='') * @param width Width in pixel * @param height Height in pixel * @param data Data array - * @param type Type of graph + * @param showlegend Show legend + * @param type Type of graph (pie, bar, line) */ function dol_print_graph($htmlid,$width,$height,$data,$showlegend=0,$type='pie') { @@ -1264,21 +1265,25 @@ function dol_print_graph($htmlid,$width,$height,$data,$showlegend=0,$type='pie') { if ($type == 'pie') { - print ''; } + else if ($type == 'bar') + { + // data is array('series'=>array(0=>serie1,1=>serie2,...),'xlabel'=>array(0=>label1,1=>label2,...)); + // serie is array('label'=>'label', values=>array(0=>val1,1=>val2,...)) + print ' + '; + } + else print 'BadValueForPArameterType'; } } diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index bc29ec5294a..fb17552386f 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -103,10 +103,11 @@ print ''; }
'.(isset($MemberUpToDate[$key]) && $MemberUpToDate[$key] > 0 ? $MemberUpToDate[$key]:'').' '.$staticmember->LibStatut(1,$adhtype->cotisation,gmmktime(),3).''.(isset($MembersResiliated[$key]) && $MembersResiliated[$key]> 0 ?$MembersResiliated[$key]:'').' '.$staticmember->LibStatut(0,$adhtype->cotisation,0,3).'
'.$langs->trans("Total").'
'.$langs->trans("Statistics").'use_javascript_ajax && ((round($third['prospect'])?1:0)+(round($third['customer'])?1:0)+(round($third['supplier'])?1:0) >= 2)) { print '
'; - $data=array(); - if ($conf->societe->enabled && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) $data[]=array('label'=>$langs->trans("Prospects"),'values'=>array(round($third['prospect']))); - if ($conf->societe->enabled && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) $data[]=array('label'=>$langs->trans("Customers"),'values'=>array(round($third['customer']))); - if ($conf->fournisseur->enabled) $data[]=array('label'=>$langs->trans("Suppliers"),'values'=>array(round($third['supplier']))); + $dataseries=array(); + if ($conf->societe->enabled && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) $dataseries[]=array('label'=>$langs->trans("Prospects"),'values'=>array(round($third['prospect']))); + if ($conf->societe->enabled && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) $dataseries[]=array('label'=>$langs->trans("Customers"),'values'=>array(round($third['customer']))); + if ($conf->fournisseur->enabled) $dataseries[]=array('label'=>$langs->trans("Suppliers"),'values'=>array(round($third['supplier']))); + $data=array('series'=>$dataseries); dol_print_graph('stats',300,180,$data,0,'pie'); print '