1033 lines
39 KiB
PHP
1033 lines
39 KiB
PHP
<?php
|
|
require_once realpath(dirname(__FILE__)).'/functions.php';
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// radioTypeBilan
|
|
// -------------------------------------------------------------------------- //
|
|
function radioTypeBilan($numBilanN, $numBilanC, $typeBilan,
|
|
$page, $siret, $idEntreprise)
|
|
{
|
|
if ($numBilanN > 0 || $numBilanC > 0) {
|
|
print '<tr>';
|
|
print '<td width="30"> </td>';
|
|
print '<td width="200" class="StyleInfoLib">Type de bilans</td>';
|
|
print '<td width="340" class="StyleInfoData">';
|
|
if ($numBilanN > 0 && $numBilanC > 0) {
|
|
print '<input type="radio" name="typeBilan" value="index.php'.
|
|
'?page='.$page.'&siret='.$siret.
|
|
'&idEntreprise='.$idEntreprise.'&type=N"';
|
|
if ($typeBilan == 'N') {
|
|
print ' checked';
|
|
}
|
|
print '/><label>Réel normal ou Simplifié</label>';
|
|
print '<input type="radio" name="typeBilan" value="index.php'.
|
|
'?page='.$page.'&siret='.$siret.
|
|
'&idEntreprise='.$idEntreprise.'&type=C"';
|
|
if ($typeBilan == 'C') {
|
|
print ' checked';
|
|
}
|
|
print '/><label>Consolidé</label>';
|
|
} else if ($numBilanN > 0 && $numBilanC == 0) {
|
|
print 'Réel normal ou Simplifié';
|
|
} else if ($numBilanN == 0 && $numBilanC > 0) {
|
|
print 'Consolidé';
|
|
}
|
|
print '</td>';
|
|
print '</tr>';
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// afficheSynthese
|
|
// -------------------------------------------------------------------------- //
|
|
function afficheSynthese($numBilanN, $numBilanC, $numBilanB, $numBilanA,
|
|
$ratio, &$bilansInfos, &$ratiosInfos,
|
|
&$dataEvol, &$dataGraph, $typeBilan,
|
|
$page, $siret, $siren, $idEntreprise)
|
|
{
|
|
if ($numBilanN == 0 && $numBilanC == 0 &&
|
|
$numBilanB == 0 && $numBilanA == 0) {
|
|
print '<table>';
|
|
print '<tr>';
|
|
print '<td width="30"> </td>';
|
|
print '<td><b>Aucun bilan disponible pour cette entreprise !</b></td>';
|
|
print '</tr>';
|
|
print '</table>';
|
|
} else if ($numBilanN == 0 && $numBilanC == 0 &&
|
|
($numBilanB > 0 || $numBilanA > 0)) {
|
|
print '<table>';
|
|
print '<tr>';
|
|
print '<td width="30"> </td>';
|
|
print '<td><b>Bilan de banque/assurance non gérés</b></td>';
|
|
print '</tr>';
|
|
print '</table>';
|
|
} else {
|
|
print '<table id="synthese">';
|
|
print '<thead>';
|
|
print '<tr>';
|
|
print '<th align="center">';
|
|
if ($ratio != '') {
|
|
print '<a href="/?page=synthese&siret='.$siret.
|
|
'&idEntreprise='.$idEntreprise.
|
|
'" title="Retour à la page complète">'.
|
|
'<img src="./img/synthese/chart_bar.png"'.
|
|
' alt="Visionner le graphique"></a>';
|
|
}
|
|
print '</th>';
|
|
print '<th class="date">';
|
|
print synthese_formatdateCloture($bilansInfos, 2);
|
|
print '</th>';
|
|
print '<th class="date">';
|
|
print synthese_formatdateCloture($bilansInfos, 1);
|
|
print '</th>';
|
|
print '<th class="date">Evolution</th>';
|
|
print '<th class="date">';
|
|
print synthese_formatdateCloture($bilansInfos, 0);
|
|
print '</th>';
|
|
print '<th class="date">Evolution</th>';
|
|
print '<th> </th>';
|
|
print '</tr>';
|
|
print '</thead>';
|
|
print '<tbody>';
|
|
//TODO : Afficher ligne par ligne les éléments
|
|
print synthese_tablerow($ratiosInfos, $dataEvol, $ratio);
|
|
print '</tbody>';
|
|
print '</table>';
|
|
print '<br/>';
|
|
if (empty($ratio) == false) {
|
|
// Affichage du graphique associé au ratio sélectionné
|
|
print '<div id="titreEvol"><b>Evolution</b></div>';
|
|
if ($siret == 0 || $siren < 100) {
|
|
$fileName = 'synthese-'.$idEntreprise;
|
|
} else {
|
|
$fileName = 'synthese-'.$siret;
|
|
}
|
|
if ($typeBilan != '') {
|
|
$fileName .= '-'.$typeBilan;
|
|
}
|
|
if ($ratio != '') {
|
|
$fileName .= '-'.$ratio;
|
|
}
|
|
|
|
if (count($dataEvol[$ratio]) <= 1) {
|
|
print 'Les informations sont insuffisantes'.
|
|
' pour générer la courbe d\'évolution';
|
|
} else {
|
|
print '<img id="imgEvol" src="./imgcache/'.
|
|
$fileName.'.png'.'" />';
|
|
}
|
|
} else {
|
|
// Affichage du graphique général
|
|
if (count($dataGraph) <= 1) {
|
|
print '<div id="graphInfo">Les informations sont insuffisantes'.
|
|
' pour générer le graphique de synthèse</div>';
|
|
} else {
|
|
print synthese_graph_linecompare($dataGraph);
|
|
}
|
|
}
|
|
print '<br/><br/>';
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// formatRatios
|
|
// -------------------------------------------------------------------------- //
|
|
function formatRatios($bilansInfos, $ratiosEntrep, $ratiosEntrepEvol,
|
|
$ratiosInfos, $ratiosSecteur)
|
|
{
|
|
//Suppression des éléments ne possédant pas de date de cloture
|
|
$index = 0;
|
|
foreach($bilansInfos as $bilansInfo)
|
|
{
|
|
if(!isset($bilansInfo['dateCloture']))
|
|
{
|
|
unset($bilansInfos[$index]);
|
|
unset($ratiosEntrep[$index]);
|
|
unset($ratiosEntrepEvol[$index]);
|
|
unset($ratiosInfos[$index]);
|
|
unset($ratiosSecteur[$index]);
|
|
}
|
|
$index++;
|
|
}
|
|
|
|
//Tri des tableaux par ordre décroissant suivant la date de cloture
|
|
//Transformation du tableau sous forme clé => valeur
|
|
foreach ($bilansInfos as $key => $row) {
|
|
$bilansInfos[$key]['cle'] = $key;
|
|
$date[$key] = $row['dateCloture'];
|
|
$duree[$key] = $row['duree'];
|
|
$devise[$key] = $row['devise'];
|
|
$unite[$key] = $row['unite'];
|
|
$cle[$key] = $row['cle'];
|
|
}
|
|
//Tri du tableau de référence suivant la date de cloture
|
|
array_multisort(
|
|
$date, SORT_DESC,
|
|
$duree, SORT_DESC,
|
|
$devise, SORT_DESC,
|
|
$unite, SORT_DESC,
|
|
$cle, SORT_DESC,
|
|
$bilansInfos);
|
|
|
|
//Tri des autres tableaux
|
|
$tempRatiosEntrep = $ratiosEntrep;
|
|
$tempRatiosEntrepEvol = $ratiosEntrepEvol;
|
|
$tempRatiosSecteur = $ratiosSecteur;
|
|
$i = 0;
|
|
foreach ($bilansInfos as $row)
|
|
{
|
|
$ratiosEntrep[$i] = $tempRatiosEntrep[$row['cle']];
|
|
$ratiosEntrepEvol[$i] = $tempRatiosEntrepEvol[$row['cle']];
|
|
if(is_array($tempRatiosSecteur[$row['cle']]))
|
|
$ratiosSecteur[$i] = $tempRatiosSecteur[$row['cle']];
|
|
|
|
//Génération données graphique actif
|
|
$dataActif[$i] = array(
|
|
graphPercent($i,'r51','r22'),
|
|
graphPercent($i,'r52','r22'),
|
|
graphPercent($i,'r53','r22'),
|
|
graphPercent($i,'r60','r22'),
|
|
graphPercent($i,'r61','r22'),
|
|
graphPercent($i,'r62','r22'),
|
|
graphPercent($i,'r63','r22'),
|
|
);
|
|
//Génération données graphique passif
|
|
$dataPassif[$i] = array(
|
|
graphPercent($i,'r70','r22'),
|
|
graphPercent($i,'r71','r22'),
|
|
graphPercent($i,'r72','r22'),
|
|
graphPercent($i,'r83','r22'),
|
|
graphPercent($i,'r84','r22'),
|
|
graphPercent($i,'r85','r22'),
|
|
graphPercent($i,'r86','r22'),
|
|
graphPercent($i,'r87','r22'),
|
|
);
|
|
//Génération données graphique SIG
|
|
$dataSIG[$i] = array(
|
|
graphPercent($i,'r101','r101')-graphPercent($i,'r122','r101'),
|
|
graphPercent($i,'r122','r101')-graphPercent($i,'r130','r101'),
|
|
graphPercent($i,'r130','r101')-graphPercent($i,'r140','r101'),
|
|
graphPercent($i,'r140','r101')-graphPercent($i,'r150','r101'),
|
|
graphPercent($i,'r150','r101')-graphPercent($i,'r170','r101'),
|
|
graphPercent($i,'r170','r101')-graphPercent($i,'r199','r101'),
|
|
graphPercent($i,'r199','r101'),
|
|
);
|
|
$i++;
|
|
}
|
|
//Fin de tri des tableaux
|
|
return array(
|
|
'bilansInfos' => $bilansInfos,
|
|
'ratiosEntrep' => $ratiosEntrep,
|
|
'ratiosEntrepEvol' => $ratiosEntrepEvol,
|
|
'ratiosSecteur' => $ratiosSecteur,
|
|
'ratiosInfos' => $ratiosInfos,
|
|
'dataActif' => $dataActif,
|
|
'dataPassif' => $dataPassif,
|
|
'dataSIG' => $dataSIG
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Retourne un tableau de données formatés pour les graphiques.
|
|
* @param array $bilansInfo
|
|
* Le tableau des bilans
|
|
* @param array $ratiosEntrep
|
|
* Le tableau des ratios entreprise
|
|
* @param string $ratio
|
|
* Le ratio selectionné
|
|
* @return array
|
|
* Retourne un tableau structuré composé de dataGraph, et de dataEvol.
|
|
*/
|
|
function synthese_datagraph($bilansInfos, $ratiosEntrep, $ratio)
|
|
{
|
|
global $firephp;
|
|
$dataGraph = array();
|
|
$dataEvol = array();
|
|
|
|
$tabRatioGraph = syntheseRatioGraph();
|
|
$tabRatioGraphEvol = syntheseRatio($ratio);
|
|
|
|
$nbrAnnees = count($bilansInfos)-1;
|
|
$i=0;
|
|
foreach($bilansInfos as $dateCloture)
|
|
{
|
|
//Données pour le graphique
|
|
if(isset($dateCloture['dateCloture']))
|
|
{
|
|
$dataGraph[$i]['date'] = $dateCloture['dateCloture'];
|
|
$dataGraph[$i]['duree'] = $dateCloture['duree'];
|
|
foreach($tabRatioGraph as $item)
|
|
{
|
|
$dataGraph[$i][$item['ratio']] = $ratiosEntrep[$i][$item['ratio']]/$item['op'];
|
|
}
|
|
}
|
|
//Données pour les graphiques évolutions
|
|
if(isset($bilansInfos[$nbrAnnees-$i]['dateCloture'])){
|
|
foreach($tabRatioGraphEvol as $ratio => $info){
|
|
$dataEvol[$ratio][] = array(
|
|
'date'=>$bilansInfos[$nbrAnnees-$i]['dateCloture'],
|
|
'value'=>(($ratiosEntrep[$nbrAnnees-$i][$ratio]!='NS') ? $ratiosEntrep[$nbrAnnees-$i][$ratio]/$info['op'] : 0 )
|
|
);
|
|
}
|
|
}
|
|
$i++;
|
|
}
|
|
return array("graph" => $dataGraph, "evol" => $dataEvol);
|
|
}
|
|
|
|
|
|
/**
|
|
* Retourne un tableau de données formatés pour les graphiques.
|
|
* @param array $bilansInfo
|
|
* Le tableau des bilans
|
|
* @param array $ratiosEntrep
|
|
* Le tableau des ratios entreprise
|
|
* @param string $ratio
|
|
* Le ratio selectionné
|
|
* @return array
|
|
* Retourne un tableau structuré composé de dataGraph, et de dataEvol.
|
|
*/
|
|
function synthese_datagraphmin($bilansInfos, $ratiosEntrep)
|
|
{
|
|
global $firephp;
|
|
$dataGraph = array();
|
|
$dataEvol = array();
|
|
|
|
$tabRatioGraphEvol = syntheseRatioMin();
|
|
|
|
$nbrAnnees = count($bilansInfos)-1;
|
|
$i=0;
|
|
foreach($bilansInfos as $dateCloture)
|
|
{
|
|
//Données pour les graphiques évolutions
|
|
if(isset($bilansInfos[$nbrAnnees-$i]['dateCloture'])){
|
|
foreach($tabRatioGraphEvol as $ratio => $info){
|
|
$dataEvol[$ratio][] = array(
|
|
'date'=>$bilansInfos[$nbrAnnees-$i]['dateCloture'],
|
|
'value'=>(($ratiosEntrep[$nbrAnnees-$i][$ratio]!='NS') ? $ratiosEntrep[$nbrAnnees-$i][$ratio]/$info['op'] : 0 )
|
|
);
|
|
}
|
|
}
|
|
$i++;
|
|
}
|
|
return array("graph" => $dataGraph, "evol" => $dataEvol);
|
|
}
|
|
|
|
/**
|
|
* Formatte chaîne contenant la date formaté.
|
|
* @param array $bilansInfo
|
|
* Le tableau des bilans
|
|
* @param array $nAnnee
|
|
* Le numéro de l'année
|
|
* @return string
|
|
* Retourne la date formaté.
|
|
*/
|
|
function synthese_formatdateCloture($bilansInfos, $nAnnee){
|
|
if(isset($bilansInfos[$nAnnee]['dateCloture'])) {
|
|
print substr($bilansInfos[$nAnnee]['dateCloture'],6,2).'/'.substr($bilansInfos[$nAnnee]['dateCloture'],4,2).'/'.substr($bilansInfos[$nAnnee]['dateCloture'],0,4).'<br/>'.$bilansInfos[$nAnnee]['duree'].' mois';
|
|
}else{ print '-'; }
|
|
}
|
|
|
|
/**
|
|
* Retourne une chaîne contenant les ligne d'un tableau html.
|
|
* @param array $ratiosInfos
|
|
* Le tableau des informations ratios
|
|
* @param array $dataEvol
|
|
* Le tableau des données évolution
|
|
* @param array $tabRatio
|
|
* Un tableau des ratios à utiliser pour générer les lignes
|
|
* @return string
|
|
* Retourne une chaîne.
|
|
*/
|
|
function synthese_tablerow($ratiosInfos, $dataEvol, $ratio)
|
|
{
|
|
global $siret, $siren, $idEntreprise, $typeBilan, $firephp;
|
|
|
|
$tabRatio = syntheseRatio($ratio);
|
|
|
|
if (($siret*1)==0 || ($siren*1)<100){ $fileName = 'synthese-'.$idEntreprise;
|
|
}else{ $fileName = 'synthese-'.$siret; }
|
|
$fileName.= '-'.$typeBilan;
|
|
$firephp->log($fileName, 'SyntheseTablerow - filename');
|
|
$row = '';
|
|
foreach($tabRatio as $ratio => $info)
|
|
{
|
|
$row.= '<tr>'."\n".
|
|
' <td class="head"><a tooltip="'.wrapComment($ratiosInfos[$ratio]['commentaires']).'">'.$info['titre'].'</a></td>'."\n".
|
|
' <td class="right">'.dRatio(2,$ratio).'</td>'."\n".
|
|
' <td class="right">'.dRatio(1,$ratio).'</td>'."\n".
|
|
' <td class="right">'.dEvol(1,$info['evol']).'</td>'."\n".
|
|
' <td class="right">'.dRatio(0,$ratio).'</td>'."\n".
|
|
' <td class="right">'.dEvol(0,$info['evol']).'</td>'."\n";
|
|
|
|
if(count($tabRatio)!=1){
|
|
$class = 'class="sTip"';
|
|
$href = '/?page=synthese&siret='.$_REQUEST['siret'].'&idEntreprise='.$_REQUEST['idEntreprise'].'&ratio='.$ratio;
|
|
$unite = '';
|
|
if(isset($info['unite']) && $info['unite']==1){
|
|
$unite = $ratiosInfos[$info['evol']]['unite'];
|
|
}
|
|
$rel='./?page=synthese&q=dgraph&width=375&f='.synthese_graphEvol($dataEvol[$ratio], $unite, $ratio, $fileName);
|
|
}else{
|
|
$class = '';
|
|
$href='#';
|
|
$ref='';
|
|
}
|
|
$row.= ' <td><a '.$class.' href="'.$href.'" rel="'.$rel;
|
|
$row.= '" name="'.$info['titre'].'"><img src="./img/synthese/chart_bar.png" alt="Visionner le graphique"></a></td>'."\n";
|
|
$row.= '</tr>'."\n";
|
|
}
|
|
return $row;
|
|
}
|
|
|
|
/**
|
|
* Retourne une chaîne contenant les ligne d'un tableau html.
|
|
* @param array $ratiosInfos
|
|
* Le tableau des informations ratios
|
|
* @param array $dataEvol
|
|
* Le tableau des données évolution
|
|
* @param array $tabRatio
|
|
* Un tableau des ratios à utiliser pour générer les lignes
|
|
* @return string
|
|
* Retourne une chaîne.
|
|
*/
|
|
function synthese_tablerowmin($ratiosInfos, $dataEvol)
|
|
{
|
|
global $siret, $siren, $idEntreprise, $typeBilan, $firephp;
|
|
|
|
$tabRatio = syntheseRatioMin();
|
|
|
|
if (($siret*1)==0 || ($siren*1)<100){ $fileName = 'synthese-'.$idEntreprise;
|
|
}else{ $fileName = 'synthese-'.$siret; }
|
|
$fileName.= '-'.$typeBilan;
|
|
$row = '';
|
|
foreach($tabRatio as $ratio => $info)
|
|
{
|
|
$row.= '<tr>'."\n";
|
|
$row.= ' <td class="head"><a tooltip="'.wrapComment($ratiosInfos[$ratio]['commentaires']).'">'.$info['titre'].'</a></td>'."\n";
|
|
$row.= ' <td class="right">'.dRatio(2,$ratio).'</td>'."\n";
|
|
$row.= ' <td class="right" title="'.$info['total_info'].'">'.dTotal(2,$ratio, $info['total']).' %</td>'."\n";
|
|
$row.= ' <td class="right">'.dRatio(1,$ratio).'</td>'."\n";
|
|
$row.= ' <td class="right" title="'.$info['total_info'].'">'.dTotal(1,$ratio, $info['total']).' %</td>'."\n";
|
|
$row.= ' <td class="right">'.dRatio(0,$ratio).'</td>'."\n";
|
|
$row.= ' <td class="right" title="'.$info['total_info'].'">'.dTotal(0,$ratio, $info['total']).' %</td>'."\n";
|
|
$row.= '</tr>'."\n";
|
|
}
|
|
return $row;
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Retourne l'url de la page d'appel du graphique avec tous ces paramètres.
|
|
* @param array $data
|
|
* Les données du tableau
|
|
* @return string
|
|
* Retourne une chaîne.
|
|
*/
|
|
function synthese_graphEvol($data, $unite, $ratio, $filename){
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
$file = $filename.'-'.$ratio.'.png';
|
|
|
|
if( cache_graph($path.$file) ){
|
|
$return = $file;
|
|
} else {
|
|
$unite = !empty($unite) ? $unite : 'KEUROS';
|
|
$labelsX = array();
|
|
$labelsY = array();
|
|
$dataX = array();
|
|
if(count($data)<=1){
|
|
$return = 0;
|
|
}else{
|
|
foreach($data as $value){
|
|
$dataX[] = $value['value'];
|
|
$labelsX[] = substr($value['date'],0,4);
|
|
}
|
|
$i=-100;
|
|
while($i>100){$labelsY[] = $i;}
|
|
# Create a XYChart object of size 250 x 250 pixels
|
|
$c = new XYChart(350, 250);
|
|
$c->setPlotArea(65, 10, 280, 200);
|
|
$c->yAxis->setTitle($unite);
|
|
$c->xAxis->setTitle("Années");
|
|
$c->xAxis->setWidth(2);
|
|
$c->yAxis->setWidth(2);
|
|
$c->addLineLayer($dataX);
|
|
# Set the labels.
|
|
$c->yAxis->setLabels($labelsY);
|
|
$c->yAxis->setLabelStep(10);
|
|
$c->xAxis->setLabels($labelsX);
|
|
if($c->makeChart($path.$file) === TRUE){ $return = $file; }
|
|
else{ $return = FALSE; }
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* Génére le graphique de synthèse
|
|
* @param array $data
|
|
* @return string
|
|
*/
|
|
function synthese_graph_linecompare($data){
|
|
global $siret, $siren, $idEntreprise, $typeBilan;
|
|
|
|
if (($siret*1)==0 || ($siren*1)<100){ $filename = 'synthese-'.$idEntreprise;
|
|
}else{ $filename = 'synthese-'.$siret; }
|
|
$filename.='-'.$typeBilan;
|
|
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
$file = $filename.'-linecompare.png';
|
|
|
|
if( cache_graph($path.$file) ){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
} else {
|
|
//Graphique style linecompare / CA / FR / BFR
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
|
|
//Tri des données par date et par ordre croissant
|
|
foreach ($data as $key => $row) { $date[$key] = $row['date']; }
|
|
array_multisort($date, SORT_ASC, $data);
|
|
|
|
//Définition des valeurs pour le graph
|
|
$dataBFR = array();
|
|
$dataFR = array();
|
|
$dataCA = array();
|
|
$i=0;
|
|
//Parcourir les années
|
|
foreach($data as $item){
|
|
$anneeFin = substr($item['date'],0,4);
|
|
$moisFin = substr($item['date'],4,2);
|
|
$jourFin = substr($item['date'],6,2);
|
|
//Calcul de la date de début
|
|
$dateDebut = date("Ymd", mktime(0, 0, 0, $moisFin-$item['duree'], $jourFin, $anneeFin));
|
|
$anneeDebut = substr($dateDebut,0,4);
|
|
$moisDebut = substr($dateDebut,4,2);
|
|
$jourDebut = substr($dateDebut,6,2);
|
|
//Affectation des abscisses
|
|
$dataBFR['x'][$i] = $dataFR['x'][$i] = $dataCA['x'][$i] = $dataEBE['x'][$i] = chartTime((int)$anneeDebut, (int)$moisDebut, (int)$jourDebut);
|
|
$dataBFR['x'][$i+1] = $dataFR['x'][$i+1] = $dataCA['x'][$i+1] = $dataEBE['x'][$i+1] = chartTime((int)$anneeFin, (int)$moisFin, (int)$jourFin);
|
|
//Affectation des ordonnées
|
|
$dataBFR['y'][$i] = $dataBFR['y'][$i+1] = $item['r236'];
|
|
$dataFR['y'][$i] = $dataFR['y'][$i+1] = $item['r235'];
|
|
$dataCA['y'][$i] = $dataCA['y'][$i+1] = $item['r6'];
|
|
$dataEBE['y'][$i] = $dataEBE['y'][$i+1] = $item['r146'];
|
|
$i+=2;
|
|
}
|
|
|
|
$c = new XYChart(570, 350, 0xcccccc, 0x000000, 1);
|
|
$c->addTitle("Synthèse *", "timesbi.ttf", 15, 0x000000);
|
|
$c->addText(60, 320, "* Elements financier rapportés à 12 mois" );
|
|
$c->setPlotArea(60, 80, 500, 200, 0xffffff, -1, -1, 0xcccccc, 0xcccccc);
|
|
$c->yAxis->setTitle("KEUROS","timesbi.ttf",10);
|
|
$c->xAxis->setTitle( "<*block,valign=absmiddle*>Années<*/*>");
|
|
$c->xAxis->setWidth(2);
|
|
$c->yAxis->setWidth(2);
|
|
|
|
// Add a legend box at (55, 32) (top of the chart) with horizontal layout. Use 9 pts
|
|
// Arial Bold font. Set the background and border color to Transparent.
|
|
$legendObj = $c->addLegend(55, 30, false, "times.ttf", 9);
|
|
$legendObj->setBackground(Transparent);
|
|
|
|
// Add a blue (0000ff) step line layer to the chart and set the line width to 2 pixels
|
|
$layer1 = $c->addStepLineLayer($dataFR['y'], 0x0000ff, "FONDS DE ROULEMENT");
|
|
$layer1->setXData($dataFR['x']);
|
|
$layer1->setLineWidth(2);
|
|
|
|
// Add a red (ff0000) step line layer to the chart and set the line width to 2 pixels
|
|
$layer0 = $c->addStepLineLayer($dataBFR['y'], 0xff0000, "BESOIN EN FONDS DE ROULEMENT");
|
|
$layer0->setXData($dataBFR['x']);
|
|
$layer0->setLineWidth(2);
|
|
|
|
// Add a green (00ff00) step line layer to the chart and set the line width to 2 pixels
|
|
$layer2 = $c->addStepLineLayer($dataCA['y'], 0x00ff00, "CHIFFRE D'AFFAIRES");
|
|
$layer2->setXData($dataCA['x']);
|
|
$layer2->setLineWidth(2);
|
|
|
|
// Add a black (000000) step line layer style dash to the chart and set the line width to 2 pixels
|
|
$layer3 = $c->addStepLineLayer($dataEBE['y'], $c->dashLineColor(0x000000, DashLine), "EXCEDENT BRUT D'EXPLOITATION");
|
|
$layer3->setXData($dataEBE['x']);
|
|
$layer3->setLineWidth(2);
|
|
|
|
# If the FR line gets above the BFR line, color to area between the lines red (ff0000)
|
|
$c->addInterLineLayer($layer0->getLine(0), $layer1->getLine(0), 0xff0000, Transparent);
|
|
|
|
# If the FR line gets below the lower BFR line, color to area between the lines light green (8099ff99)
|
|
$c->addInterLineLayer($layer0->getLine(0), $layer1->getLine(0), Transparent, 0x8044ff44);
|
|
|
|
if($c->makeChart($path.$file) === TRUE){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
}else{
|
|
$return = 'Impossible de générer le graphique';
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// tabRatio
|
|
// -------------------------------------------------------------------------- //
|
|
$tabRatio = array(
|
|
array('titre' => 'EQUILIBRE FINANCIER'),
|
|
array('titre' => 'MARGE BRUTE D\'AUTOFINANCEMENT',
|
|
'stitre'=> '(MBA ou CAF)',
|
|
'ratio' => 'r233', 'parent' => 0, 'position' => '>'),
|
|
array('titre' => 'COUVERTURE du BFR',
|
|
'stitre'=> '(FR/BFR)',
|
|
'ratio' => 'r234', 'parent' => 0, 'position' => '>'),
|
|
array('titre' => 'COUVERTURE des IMMOS NETTES',
|
|
'stitre'=> '(Capitaux permanents / Immobilisations nettes)',
|
|
'ratio' => 'r237', 'parent' => 0, 'position' => '>'),
|
|
array('titre' => 'COUVERTURE du CA',
|
|
'stitre'=> '(Fond de roulement net global sur 12m x 360'.
|
|
' / Chiffre d\'affaire)',
|
|
'ratio' => 'r238', 'parent' => 0, 'position' => '>'),
|
|
array('titre' => 'SOLVABILITE',
|
|
'stitre'=> '(Capitaux propres / Ensemble des dettes)',
|
|
'ratio' => 'r239', 'parent' => 0, 'position' => '>'),
|
|
array('titre' => 'INDEPENDANCE FINANCIERE',
|
|
'stitre'=> '(Cap.propres/Capitaux permanents)',
|
|
'ratio' => 'r240', 'parent' => 0, 'position' => '>'),
|
|
|
|
array('titre' => 'PROFITABILITE'),
|
|
array('titre' => 'RENTABILITE ECONOMIQUE',
|
|
'stitre'=> '(EBE/TOTAL bilan)',
|
|
'ratio' => 'r262', 'parent' => 7, 'position' => '>'),
|
|
array('titre' => 'RENTABILITE FINANCIERE',
|
|
'stitre'=> '(Résult.Net/Cap.propres)',
|
|
'ratio' => 'r263', 'parent' => 7, 'position' => '>'),
|
|
array('titre' => 'RENTABILITE COMMERCIALE',
|
|
'stitre'=> '(Résultat net/CA)',
|
|
'ratio' => 'r264', 'parent' => 7, 'position' => '>'),
|
|
array('titre' => 'CONTRIBUTION DU CAPITAL',
|
|
'stitre'=> '(Capacité d\'autofinancement sur 12 mois'.
|
|
' / Capitaux permanents)',
|
|
'ratio' => 'r265', 'parent' => 7, 'position' => '>'),
|
|
array('titre' => 'CONTRIBUTION DE LA VA',
|
|
'stitre'=>'(Capacité d\'autofinancement / Valeur ajoutée)',
|
|
'ratio' => 'r266', 'parent' => 7, 'position' => '>'),
|
|
|
|
array('titre' => 'LIQUIDITE'),
|
|
array('titre' => 'LIQUIDITE IMMEDIATE',
|
|
'stitre'=> '(Disponibilité / Dettes CT)',
|
|
'ratio' => 'r250', 'parent' => 13, 'position' => '>'),
|
|
array('titre' => 'LIQUIDITE GENERALE',
|
|
'stitre'=> '(Act.circulant net/Dettes CT)',
|
|
'ratio' => 'r251', 'parent' => 13, 'position' => '>'),
|
|
array('titre' => 'LIQUIDITE REDUITE',
|
|
'stitre'=>'(Disponibilité et créances réelles / Dettes CT)',
|
|
'ratio' => 'r252', 'parent' => 13, 'position' => '>'),
|
|
|
|
array('titre' => 'ENDETTEMENT'),
|
|
array('titre' => 'ENDETTEMENT',
|
|
'stitre'=> '(Dettes a + 1 an / Capitaux propres)',
|
|
'ratio' => 'r244', 'parent' => 17, 'position' => '<'),
|
|
array('titre' => 'CAPACITE DE REMBOURSEMENT',
|
|
'stitre'=> '(Dettes.bancaires.(+MT+LT+C.bail)/CAF)',
|
|
'ratio' => 'r247', 'parent' => 17, 'position' => '<'),
|
|
array('titre' => 'FINANCEMENT DES STOCKS',
|
|
'stitre'=> '(Dettes aux fournisseurs / Stock)',
|
|
'ratio' => 'r248', 'parent' => 17, 'position' => '<'),
|
|
|
|
array('titre' => 'PRODUCTIVITE'),
|
|
array('titre' => 'PRODUCTIVITE DE L\'ACTIF',
|
|
'stitre'=> '(Chiffre d\'affaire / Actif comptable)',
|
|
'ratio' => 'r271', 'parent' => 21, 'position' => '>'),
|
|
array('titre' => 'DUREE CLIENT',
|
|
'stitre'=> '(Rotation clients en VJ TTC)',
|
|
'ratio' => 'r278', 'parent' => 21, 'position' => '<'),
|
|
array('titre' => 'DUREE FOURNISSEUR',
|
|
'stitre'=> '(Rotation fournisseurs en JA TTC)',
|
|
'ratio' => 'r279', 'parent' => 21, 'position' => '<'),
|
|
array('titre' => 'POIDS MASSE SALARIALE',
|
|
'stitre'=> '(Ch personnel / VA)',
|
|
'ratio' => 'r281', 'parent' => 21, 'position' => '<'),
|
|
array('titre' => 'RENDEMENT',
|
|
'stitre'=> '(Production sur 12mois / Effectif)',
|
|
'ratio' => 'r261', 'parent' => 21, 'position' => '>'),
|
|
array('titre' => 'PRODUCTIVITE',
|
|
'stitre'=> '(CA / Effectif)',
|
|
'ratio' => 'r267', 'parent' => 21, 'position' => '>'));
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// ratios_tablerow
|
|
// -------------------------------------------------------------------------- //
|
|
/**
|
|
* Retourne une chaîne contenant la ligne d'un tableau html.
|
|
* @param array $ratiosInfos
|
|
* Le tableau des information ratios
|
|
* @param array $dataEvol
|
|
* Le tableau des données évolution
|
|
* @param array $tabRatio
|
|
* Un tableau des ratios à utiliser pour le générer les lignes
|
|
* @return string
|
|
* Retourne une chaîne.
|
|
*/
|
|
// -------------------------------------------------------------------------- //
|
|
function ratios_tablerow($ratiosInfos, $bilan, $ratio = '')
|
|
{
|
|
global $siret, $siren, $idEntreprise, $typeBilan, $tabRatio;
|
|
|
|
if (($siret * 1) == 0 ||
|
|
($siren * 1) < 100) {
|
|
$fileName = 'ratios-'.$idEntreprise;
|
|
} else {
|
|
$fileName = 'ratios-'.$siret;
|
|
}
|
|
$fileName .= '-'.$typeBilan;
|
|
$row = '';
|
|
foreach ($tabRatio as $item) {
|
|
if ($ratio == '') {
|
|
if (isset($item['ratio'])) {
|
|
$row .= '<tr>'."\n";
|
|
$row .= '<td><a tooltip="'.
|
|
wrapComment($ratiosInfos[$item['ratio']]['commentaires']).
|
|
'">'.$item['titre'].'<br/>'.$item['stitre'].'</a></td>'."\n";
|
|
$row .= '<td class="right">'.
|
|
dRatio($bilan, $item['ratio']).'</td>'."\n";
|
|
$row .= '<td class="right">'.
|
|
dSecteur($bilan, $item['ratio']).'</td>'."\n";
|
|
$row .= '<td class="position">';
|
|
$row .= '<a class="rTip" href="/?page=ratios'.
|
|
'&siret='.$_REQUEST['siret'].
|
|
'&idEntreprise='.$_REQUEST['idEntreprise'].
|
|
'&ratio='.$item['ratio'].
|
|
'" rel="./?page=ratios&q=dgraph&width=375&f='.
|
|
ratios_graph($item['ratio'],
|
|
dGraph($item['ratio']), $fileName).
|
|
'" name="'.$item['titre'].'">'."\n";
|
|
$row .= dPosition($bilan, $item['ratio'], $item['position']);
|
|
$row .= '</a>';
|
|
$row .= '</td>'."\n";
|
|
$row .= '</tr>'."\n";
|
|
} else {
|
|
$row .= '<tr class="subhead">'."\n";
|
|
$row .= '<td class="center italique">'.
|
|
$item['titre'].'</td>'."\n";
|
|
$row .= '<td>Entreprise</td>'."\n";
|
|
$row .= '<td>Secteur</td>'."\n";
|
|
$row .= '<td>Position</td>'."\n";
|
|
$row .= '</tr>'."\n";
|
|
}
|
|
} else if ($ratio == $item['ratio']) {
|
|
$row .= '<tr class="subhead">'."\n".
|
|
'<td class="center italique">'.
|
|
$tabRatio[$item['parent']]['titre'].'</td>'."\n".
|
|
'<td>Entreprise</td>'."\n".
|
|
'<td>Secteur</td>'."\n".
|
|
'<td>Position</td>'."\n".
|
|
'</tr>'."\n";
|
|
$row .= '<tr>'."\n".
|
|
'<td><a tooltip="'.
|
|
wrapComment($ratiosInfos[$item['ratio']]['commentaires']).
|
|
'">'.$item['titre'].'<br/>'.$item['stitre'].'</a></td>'."\n".
|
|
'<td class="right">'.
|
|
dRatio($bilan, $item['ratio']).'</td>'."\n".
|
|
'<td class="right">'.
|
|
dSecteur($bilan, $item['ratio']).'</td>'."\n".
|
|
'<td class="position">'."\n".
|
|
'<a href="#" name="'.$item['titre'].'">'."\n".
|
|
dPosition($bilan, $item['ratio'], $item['position'])."\n".
|
|
'</a>'."\n".
|
|
'</td>'."\n".
|
|
'</tr>'."\n";
|
|
}
|
|
}
|
|
return $row;
|
|
}
|
|
|
|
// -------------------------------------------------------------------------- //
|
|
// ratiosExport
|
|
// -------------------------------------------------------------------------- //
|
|
function ratiosExport($siren, $raisonSociale, $secteur, $type, $date, $duree,
|
|
$ratiosInfos, $bilan, $nbEntNaf, $ratio = '')
|
|
{
|
|
global $tabRatio;
|
|
|
|
$e = array('siren' => $siren,
|
|
'raisonSociale' => $raisonSociale,
|
|
'secteur' => $secteur,
|
|
'type' => $type,
|
|
'nbEntNaf' => $nbEntNaf);
|
|
if (empty($ratio) == true) {
|
|
$e['date'] = $date;
|
|
$e['duree'] = $duree;
|
|
$titre = '';
|
|
foreach ($tabRatio as $item) {
|
|
if (isset($item['ratio'])) {
|
|
$label = $item['titre'];
|
|
$entr = dRatio ($bilan, $item['ratio']);
|
|
$sect = dSecteur ($bilan, $item['ratio']);
|
|
$pos = dPosition($bilan, $item['ratio'], $item['position']);
|
|
if (preg_match('/bon/', $pos) == true) {
|
|
$pos = 'bon';
|
|
} else if (preg_match('/mauvais/', $pos) == true) {
|
|
$pos = 'mauvais';
|
|
}
|
|
$e[$titre][] = array('label' => $label,
|
|
'entreprise' => $entr,
|
|
'secteur' => $sect,
|
|
'position' => $pos);
|
|
} else {
|
|
$titre = str_replace(' ', '_', $item['titre']);
|
|
$e[$titre] = array();
|
|
}
|
|
}
|
|
} else {
|
|
$e = array_merge($e, dGraph($ratio, $bilan));
|
|
}
|
|
return $e;
|
|
}
|
|
|
|
/**
|
|
* Enregistre le graphique bilan actif sous forme d'image.
|
|
* @param array $data
|
|
* Tableau structuré des données
|
|
* @param string $filename
|
|
* Le nom de fichier généré
|
|
* @return string
|
|
* Retourne un message d'erreur ou le code HTML d'affichage.
|
|
*/
|
|
function bilans_graph_actif($data, $filename){
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
$file = $filename.'-graph-actif.png';
|
|
if( cache_graph($path.$file) ){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
} else {
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
$w = 570;
|
|
$h = 210;
|
|
$x = round($w/2);
|
|
$y = round($h/2);
|
|
$radius = 90;
|
|
$c = new PieChart($w, $h);
|
|
$labels = array('Immo. incorporelles',
|
|
'Immo. corporelles',
|
|
'Immo. financières',
|
|
'Stock et encours',
|
|
'Créances Clients',
|
|
'Autres créances',
|
|
'Trésorerie Active');
|
|
$textBoxObj = $c->addTitle("Composition de l'actif", "timesbi.ttf", 15);
|
|
$c->setPieSize($x, $y, $radius);
|
|
$c->setLabelLayout(SideLayout);
|
|
$t = $c->setLabelStyle();
|
|
$t->setBackground(SameAsMainColor, Transparent, glassEffect());
|
|
$t->setRoundedCorners(5);
|
|
# Set the border color of the sector the same color as the fill color. Set the line # color of the join line to black (0x0)
|
|
$c->setLineColor(SameAsMainColor, 0x000000);
|
|
$c->setStartAngle(135);
|
|
$c->setLabelFormat("<*block,valign=absmiddle*>{label} <*font=timesbi.ttf,size=0*>({percent|0}%)");
|
|
$c->setData($data, $labels);
|
|
$c->set3D(20);
|
|
if($c->makeChart($path.$file) === TRUE){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
}else{
|
|
$return = 'Impossible de générer le graphique';
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* Enregistre le graphique bilan SIG sous forme d'image.
|
|
* @param array $data
|
|
* Tableau structuré des données
|
|
* @param array $filename
|
|
* Le nom de fichier généré
|
|
* @return string
|
|
* Retourne un message d'erreur ou le code HTML d'affichage.
|
|
*/
|
|
function bilans_graph_sig($data, $filename){
|
|
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
$file = $filename.'-graph-sig.png';
|
|
if( cache_graph($path.$file) ){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
} else {
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
$w = 570;
|
|
$h = 210;
|
|
$x = round($w/2);
|
|
$y = round($h/2);
|
|
$radius=70;
|
|
$c = new PieChart($w, $h);
|
|
$labels = array('Achats de marchandises.',
|
|
'Autres achats externes',
|
|
'Charges de fonctionnement',
|
|
'Amortissement et provisions',
|
|
'Perte financière',
|
|
'Impôts sociétés',
|
|
'RÉSULTAT NET',
|
|
);
|
|
$textBoxObj = $c->addTitle("Solde Intermédiaire de Gestion", "timesbi.ttf", 15);
|
|
$c->setPieSize($x, $y, $radius);
|
|
$c->setLabelLayout(SideLayout);
|
|
$t = $c->setLabelStyle();
|
|
$t->setBackground(SameAsMainColor, Transparent, glassEffect());
|
|
$t->setRoundedCorners(5);
|
|
$c->setLineColor(SameAsMainColor, 0x000000);
|
|
$c->setLabelFormat("<*block,valign=absmiddle*>{label} <*font=arial.ttf,size=0*>({percent|0}%)");
|
|
$c->setStartAngle(135);
|
|
$c->setData($data, $labels);
|
|
$c->set3D(20);
|
|
|
|
if($c->makeChart($path.$file) === TRUE){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
}else{
|
|
$return = 'Impossible de générer le graphique';
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* Enregistre le graphique bilan passif sous forme d'image.
|
|
* @param array $data
|
|
* Tableau structuré des données
|
|
* @param string $filename
|
|
* Le nom de fichier généré
|
|
* @return string
|
|
* Retourne un message d'erreur ou le code HTML d'affichage.
|
|
*/
|
|
function bilans_graph_passif($data, $filename){
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
$file = $filename.'-graph-passif.png';
|
|
if( cache_graph($path.$file) ){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
} else {
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
$w = 570;
|
|
$h = 210;
|
|
$x = round($w/2);
|
|
$y = round($h/2);
|
|
$radius = 90;
|
|
$c = new PieChart($w, $h);
|
|
$labels = array('Fonds propres',
|
|
'Provisions Risques',
|
|
'Compte Courant',
|
|
'Dettes Financières',
|
|
'Dettes Fournisseurs',
|
|
'Dettes fiscales',
|
|
'Autres Dettes',
|
|
'Trésorerie Passive');
|
|
$textBoxObj = $c->addTitle("Composition du passif", "timesbi.ttf", 15);
|
|
$c->setPieSize($x, $y, $radius);
|
|
$c->setLabelLayout(SideLayout);
|
|
$t = $c->setLabelStyle();
|
|
$t->setBackground(SameAsMainColor, Transparent, glassEffect());
|
|
$t->setRoundedCorners(5);
|
|
$c->setLineColor(SameAsMainColor, 0x000000);
|
|
$c->setStartAngle(135);
|
|
$c->setLabelFormat("<*block,valign=absmiddle*>{label} <*font=timesbi.ttf,size=0*>({percent|0}%)");
|
|
$c->setData($data, $labels);
|
|
$c->set3D(20);
|
|
if($c->makeChart($path.$file) === TRUE){
|
|
$return = '<img src="./imgcache/'.$file.'"/>';
|
|
}else{
|
|
$return = 'Impossible de générer le graphique';
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* Enregistre le graphique évolution.
|
|
* @param array $data
|
|
* Tableau structuré des données
|
|
* @param array $filename
|
|
* Le nom de fichier généré
|
|
* @return string
|
|
* Retourne un message d'erreur ou le code HTML d'affichage.
|
|
*/
|
|
function ratios_graph($ratio, $data, $filename)
|
|
{
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
if($ratio != ''){
|
|
$file = $filename.'-'.$ratio.'.png';
|
|
}else{
|
|
$file = $filename.'.png';
|
|
}
|
|
if( cache_graph($path.$file) ){
|
|
$return = $file;
|
|
}else{
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
if(count($data)<=1){
|
|
$return = 0;
|
|
}else{
|
|
$labelsX = array();
|
|
$labelsY = array();
|
|
$dataX1 = array();
|
|
$dataX2 = array();
|
|
foreach($data['data'] as $value){
|
|
$dataX1[] = $value['entreprise'];
|
|
$dataX2[] = $value['secteur'];
|
|
$labelsX[] = substr($value['date'],0,4);
|
|
}
|
|
$i=-100; while($i>100){ $labelsY[] = $i;}
|
|
$c = new XYChart(350, 250);
|
|
$c->setPlotArea(55, 10, 280, 200);
|
|
$c->yAxis->setTitle($data['unite']);
|
|
$c->xAxis->setTitle("Années");
|
|
$c->xAxis->setWidth(2);
|
|
$c->yAxis->setWidth(2);
|
|
$legendObj = $c->addLegend(50, 10, false, "times.ttf", 9);
|
|
$legendObj->setBackground(Transparent);
|
|
$c->addLineLayer($dataX1, 0x0000ff, "Entreprise");
|
|
$c->addLineLayer($dataX2, 0x008C00, "Secteur");
|
|
$c->yAxis->setLabels($labelsY);
|
|
$c->yAxis->setLabelStep(10);
|
|
$c->xAxis->setLabels($labelsX);
|
|
if($c->makeChart($path.$file) === TRUE){ $return = $file; }
|
|
else{ $return = FALSE; }
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
*
|
|
* Génére l'histogramme flux de trésorerie
|
|
* @param array $labels
|
|
* @param array $data
|
|
* @param string $filename
|
|
* @return boolean|string
|
|
*/
|
|
function flux_graph($labels, $data, $filename)
|
|
{
|
|
$path = PATH_SITE.'/cache/imgcache/';
|
|
$file = $filename.'-flux.png';
|
|
$couleur = array(0xff8080, 0x80ff80, 0x8080ff);
|
|
|
|
if( cache_graph($path.$file) ){
|
|
$return = $file;
|
|
}else{
|
|
require_once 'phpchartdir/phpchartdir.php';
|
|
if(count($data)<=1){
|
|
$return = 0;
|
|
}else{
|
|
|
|
$c = new XYChart(560, 300);
|
|
$c->setPlotArea(55, 20, 300, 200);
|
|
$legendObj = $c->addLegend(350, 20, false, "times.ttf", 9);
|
|
$legendObj->setBackground(Transparent);
|
|
$layer = $c->addBarLayer2(Stack);
|
|
$layer->setBorderColor(Transparent, softLighting(Left));
|
|
$c->xAxis->setLabels($labels);
|
|
$cptCouleur = 0;
|
|
foreach ( $data as $d){
|
|
$layer->addDataSet($d['values'], $couleur[$cptCouleur], $d['titre']);
|
|
$cptCouleur++;
|
|
}
|
|
$layer->setBarGap(0.2, 0);
|
|
$c->yAxis->setAutoScale(0.2);
|
|
if( $c->makeChart($path.$file) === TRUE ){ $return = $file; }
|
|
else{ $return = FALSE; }
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
?>
|