Subversion Repositories Sites.tela-botanica.org

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php

include ("../../../../api/jpgraph_1.12.2/jpgraph.php") ;
include ("../../../../api/jpgraph_1.12.2/jpgraph_line.php") ;
include ("../../../../api/jpgraph_1.12.2/jpgraph_bar.php");
include ("../../../../papyrus/configuration/pap_config.inc.php") ;

include_once 'DB.php' ;
$db = DB::connect (PAP_DSN) ;
if (DB::isError($db)) {
    echo 'Message Standard         : ' . $db->getMessage() . "\n";
    echo 'Message DBMS/Utilisateur : ' . $db->getUserInfo() . "\n";
    echo 'Message DBMS/D&eacute;boguage   : ' . $db->getDebugInfo() . "\n";
    exit;
}

$tab_mois = array("Jan","Fev","Mar","Avr","Mai","Juin","Juil","Août","Sep","Oct","Nov","Dec");
$tab_donnees_add = array() ;
$tab_donnees_del = array() ;
$tps_debut = mktime(0,0,0,1,1);
$tps_courrant = $tps_debut;
$tps_fin = time();// jour courrant
$i = 0;
//Requete par mois
while  ($tps_courrant <= $tps_fin) {
        $tps_semaine_suivante = $tps_courrant + (7 * 24 * 60 * 60);
        $tps_mois_suivant = mktime(0,0,0,$i+2,1);
        //echo date('Y-m-d H:i:s', $tps_courrant).' - '.date('Y-m-d H:i:s', $tps_mois_suivant);
        $requete =      'SELECT IS_ACTION '.
                                'FROM ins_STATS '.
                                'WHERE IS_DATE >= "'.date('Y-m-d H:i:s', $tps_courrant).'" '.
                                'AND IS_DATE < "'.date('Y-m-d H:i:s', $tps_mois_suivant).'" ';
        $resultat = $db->query($requete) ;
        $tab_donnees_add[$i] = 0 ;
        $tab_donnees_del[$i] = 0 ;
        while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
                if ($ligne->IS_ACTION == 'add') $tab_donnees_add[$i]++ ;
                if ($ligne->IS_ACTION == 'del') $tab_donnees_del[$i]++ ;
        }
        //echo ' - '.$tab_donnees[$i-1].'<br/>';
        $tps_courrant = $tps_mois_suivant;
        $i++;
}

// Création du graphique
$graph = new Graph(500,400,"auto"); 
$graph->img->SetMargin(30,30,30,40);   
$graph->SetMarginColor("white");  
$graph->SetScale('textint');
$graph->xaxis->SetTickLabels($tab_mois); 
$graph->SetShadow(); 
$graph->title->Set("Évolution des inscriptions au Réseau"); 
$graph->title->SetFont(FF_FONT1,FS_BOLD); 
$graph->xaxis->title->Set("Mois depuis le 1er janvier ".date('Y'));
$graph->legend->SetLayout(LEGEND_HOR);
$graph->legend->Pos(0.5, 0.05, 'left', 'top'); 

// Création des barres
$BarPlotAdd = new BarPlot($tab_donnees_add); 
$BarPlotAdd->SetFillColor("orange");
$BarPlotAdd->value->Show();
$BarPlotAdd->value->SetFormat("%s"); 
$BarPlotAdd->SetLegend ('Inscription'); 

$BarPlotDel = new BarPlot($tab_donnees_del); 
$BarPlotDel->SetFillColor("green");
$BarPlotDel->value->Show();
$BarPlotDel->value->SetFormat("%s"); 
$BarPlotDel->SetLegend ('Désinscription');

// Nous assemblons les barres
//$ab1plot = new AccBarPlot (array($BarPlotAdd ,$BarPlotDel)); 
$gbplot = new GroupBarPlot(array($BarPlotAdd, $BarPlotDel));

$graph->Add($gbplot); 
$graph->Stroke(); 
?>