2
0
forked from Wavyzz/dolibarr

Fix: better with json_encode for use string for cols and rows name

This commit is contained in:
Regis Houssin
2011-11-20 16:54:41 +01:00
2 changed files with 19 additions and 41 deletions

View File

@@ -154,25 +154,27 @@ if ($conf->use_javascript_ajax)
$SommeD=0; $SommeD=0;
$dataval=array(); $dataval=array();
$datalabels=array(); $datalabels=array();
$i=0;
foreach ($AdherentType as $key => $adhtype) foreach ($AdherentType as $key => $adhtype)
{ {
$datalabels[]=$adhtype->getNomUrl(0,dol_size(16)); $datalabels[]=array($i,$adhtype->getNomUrl(0,dol_size(16)));
$dataval['draft'][]=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0; $dataval['draft'][]=array($i,isset($MemberToValidate[$key])?$MemberToValidate[$key]:0);
$dataval['notuptodate'][]=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0; $dataval['notuptodate'][]=array($i,isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0);
$dataval['uptodate'][]=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0; $dataval['uptodate'][]=array($i,isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0);
$dataval['resiliated'][]=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0; $dataval['resiliated'][]=array($i,isset($MembersResiliated[$key])?$MembersResiliated[$key]:0);
$SommeA+=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0; $SommeA+=isset($MemberToValidate[$key])?$MemberToValidate[$key]:0;
$SommeB+=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0; $SommeB+=isset($MembersValidated[$key])?$MembersValidated[$key]-$MemberUpToDate[$key]:0;
$SommeC+=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0; $SommeC+=isset($MemberUpToDate[$key])?$MemberUpToDate[$key]:0;
$SommeD+=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0; $SommeD+=isset($MembersResiliated[$key])?$MembersResiliated[$key]:0;
$i++;
} }
/* /*
$dataseries=array(); $dataseries=array();
$dataseries[]=array('label'=>$langs->trans("MembersStatusToValid"),'values'=> $dataval['draft']); $dataseries[]=array('label'=>$langs->trans("MembersStatusToValid"),'data'=> $dataval['draft']);
$dataseries[]=array('label'=>$langs->trans("MenuMembersNotUpToDate"),'values'=> $dataval['notuptodate']); $dataseries[]=array('label'=>$langs->trans("MenuMembersNotUpToDate"),'data'=> $dataval['notuptodate']);
$dataseries[]=array('label'=>$langs->trans("MenuMembersUpToDate"),'values'=> $dataval['uptodate']); $dataseries[]=array('label'=>$langs->trans("MenuMembersUpToDate"),'data'=> $dataval['uptodate']);
$dataseries[]=array('label'=>$langs->trans("MembersStatusResiliated"),'values'=> $dataval['resiliated']); $dataseries[]=array('label'=>$langs->trans("MembersStatusResiliated"),'data'=> $dataval['resiliated']);
$data=array('series'=>$dataseries,'seriestype'=>array('bar','bar','bar','bar'),'xlabel'=>$datalabels); $data=array('series'=>$dataseries,'seriestype'=>array('bar','bar','bar','bar'),'xlabel'=>$datalabels);
dol_print_graph('stats2',300,180,$data,1,'barline'); dol_print_graph('stats2',300,180,$data,1,'barline');
*/ */

View File

@@ -1602,56 +1602,32 @@ function dol_print_graph($htmlid,$width,$height,$data,$showlegend=0,$type='pie',
// 'seriestype'=>array('bar','line',...), // 'seriestype'=>array('bar','line',...),
// 'seriescolor'=>array(0=>'#999999',1=>'#999999',...) // 'seriescolor'=>array(0=>'#999999',1=>'#999999',...)
// 'xlabel'=>array(0=>labelx1,1=>labelx2,...)); // 'xlabel'=>array(0=>labelx1,1=>labelx2,...));
// serieX is array('label'=>'label', values=>array(0=>y1,1=>y2,...)) with same nb of value than into xlabel // serieX is array('label'=>'label', data=>array(0=>y1,1=>y2,...)) with same nb of value than into xlabel
print ' print '
<script type="text/javascript"> <script type="text/javascript">
$(function () { $(function () {
var data = ['; var data = [';
$i=1; $outputserie=0; $i=0; $outputserie=0;
foreach($data['series'] as $serie) foreach($data['series'] as $serie)
{ {
if ($data['seriestype'][$i-1]=='line') { $i++; continue; }; if ($data['seriestype'][$i]=='line') { $i++; continue; };
if ($outputserie > 0) print ','; if ($outputserie > 0) print ',';
print '{ bars: { stack: 0, show: true, barWidth: 0.9, align: \'center\' }, label: \''.dol_escape_js($serie['label']).'\', data: ['; print '{ bars: { stack: 0, show: true, barWidth: 0.9, align: \'center\' }, label: \''.dol_escape_js($serie['label']).'\', data: '.json_encode($serie['data']).'}'."\n";
$j=1;
foreach($serie['values'] as $val)
{
print '['.$j.','.$val.']';
if ($j < count($serie['values'])) print ', ';
$j++;
}
print ']}'."\n";
$outputserie++; $i++; $outputserie++; $i++;
} }
if ($outputserie) print ', '; if ($outputserie) print ', ';
//print ']; //print '];
//var datalines = ['; //var datalines = [';
$i=1; $outputserie=0; $i=0; $outputserie=0;
foreach($data['series'] as $serie) foreach($data['series'] as $serie)
{ {
if (empty($data['seriestype'][$i-1]) || $data['seriestype'][$i-1]=='bar') { $i++; continue; }; if (empty($data['seriestype'][$i]) || $data['seriestype'][$i]=='bar') { $i++; continue; };
if ($outputserie > 0) print ','; if ($outputserie > 0) print ',';
print '{ lines: { show: true }, label: \''.dol_escape_js($serie['label']).'\', data: ['; print '{ lines: { show: true }, label: \''.dol_escape_js($serie['label']).'\', data: '.json_encode($serie['data']).'}'."\n";
$j=1;
foreach($serie['values'] as $val)
{
print '['.$j.','.$val.']';
if ($j < count($serie['values'])) print ', ';
$j++;
}
print ']}'."\n";
$outputserie++; $i++; $outputserie++; $i++;
} }
print ']; print '];
var dataticks = ['; var dataticks = '.json_encode($data['xlabel']).'
$i=1;
foreach($data['xlabel'] as $label)
{
print '['.$i.',\''.$label.'\']';
if ($i < count($data['xlabel'])) print ',';
$i++;
}
print '];
function plotWithOptions() { function plotWithOptions() {
$.plot(jQuery("#'.$htmlid.'"), data, $.plot(jQuery("#'.$htmlid.'"), data,