Subversion Repositories Sites.tela-botanica.org

Rev

Rev 609 | 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() ;
if (isset($_GET['annee'])) {
        $tps_debut = mktime(0, 0, 0, 1, 1, $_GET['annee']);
        $tps_fin = mktime(23, 59, 59, 12, 31, $_GET['annee']);
        $annee = $_GET['annee'];
} else {
        $tps_debut = mktime(0, 0, 0, 1, 1);
        $tps_fin = time();// jour courrant
        $annee = date('Y', $tps_fin);
}
$tps_courrant = $tps_debut;
$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, $annee);
        //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 $annee");
$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(); 
?>