extranet/www/graphs/bar1.php
2010-02-11 16:01:21 +00:00

74 lines
2.4 KiB
PHP

<?php
$client = new SoapClient(null, array( 'trace' => 1,
'soap_version' => SOAP_1_1,
'location' => WEBSERVICE_URL,
'uri' => WEBSERVICE_URI,
'login' => 'ylenaour',
'password' => 'bzh4231*',
// 'encoding' => 'UTF-8'
));
$O = $client->getStatsUtilisateurs($_REQUEST['login'], $_REQUEST['mois'], $_REQUEST['vue'], $_REQUEST['payant']);
$tabData=$O['results'];
if (isset($_REQUEST['w']) && $_REQUEST['w']<>'') $w=$_REQUEST['w'];
else die();
if (isset($_REQUEST['h']) && $_REQUEST['h']<>'') $h=$_REQUEST['h'];
else die();
/*if (isset($_REQUEST['d']) && $_REQUEST['d']<>'') $tabData=unserialize(urldecode($_REQUEST['d']));
else die();
*/
require_once("phpchartdir/phpchartdir.php");
# The data for the bar chart
$labels=$data=array();
//print_r($tabData);die();
foreach ($tabData as $i=>$jour) {
if ($_REQUEST['vue']=='heure') $labels[]=$jour['heures'];
else $labels[]=substr($jour['jours'],-2);
$data[]=$jour['nb'];
}
//$data = array(85, 156, 179.5, 211, 123);
# The labels for the bar chart
//$labels = array("Mon", "Tue", "Wed", "Thu", "Fri");
# Create a XYChart object of size 400 x 240 pixels.
$c = new XYChart($w, $h);
# Add a title to the chart using 14 pts Times Bold Italic font
if ($_REQUEST['vue']=='heure') $c->addTitle('Accès par tranches horaires', "timesbi.ttf", 14);
elseif (!$_REQUEST['payant']) $c->addTitle('Accès quotidiens sur le mois', "timesbi.ttf", 14);
elseif ($_REQUEST['payant']) $c->addTitle('dont actes payants', "timesbi.ttf", 14);
# Set the plotarea at (45, 40) and of 300 x 160 pixels in size. Use alternating light
# grey (f8f8f8) / white (ffffff) background.
$c->setPlotArea(45, 40, $w*0.9, $h*0.7, 0xf8f8f8, 0xffffff);
# Add a multi-color bar chart layer
$layer = $c->addBarLayer3($data);
# Set layer to 3D with 10 pixels 3D depth
$layer->set3D(10);
# Set bar shape to circular (cylinder)
if ($_REQUEST['vue']=='heure') $layer->setBarShape(SquareShape,0,0);
else $layer->setBarShape(CircleShape);
# Set the labels on the x axis.
$c->xAxis->setLabels($labels);
# Add a title to the y axis
$c->yAxis->setTitle('Nombre de requêtes');
# Add a title to the x axis
if ($_REQUEST['vue']=='heure') $c->xAxis->setTitle('Heures');
else $c->xAxis->setTitle('Jour du mois');
# output the chart
header("Content-type: image/png");
print($c->makeChart2(PNG));
?>