90 lines
2.8 KiB
PHP
90 lines
2.8 KiB
PHP
<?php
|
|
/*
|
|
----------------------------------------------------------------------
|
|
LICENSE
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License (GPL)
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
|
----------------------------------------------------------------------
|
|
*/
|
|
|
|
/**
|
|
* Show the statistics of all members.
|
|
*
|
|
* @copyright AlternC-Team 2000-2017 https://alternc.com/
|
|
*/
|
|
|
|
@require_once("../class/config.php");
|
|
if ((@include_once 'Image/Graph.php') === FALSE) {
|
|
echo "<p class=\"alert alert-warning\">". _("Image_Graph not installed. use 'aptitude install php-pear' then 'pear install --alldeps Image_Graph-devel' to see the graph.")."</p>";
|
|
exit(0);
|
|
}
|
|
|
|
$db->query("SELECT COUNT(login) AS count,date_format(created, '%Y-%m') as month FROM `membres` where created is NOT null GROUP BY month ORDER BY month ASC");
|
|
|
|
$Graph =& Image_Graph::factory('graph', array(800, 600));
|
|
$Graph->add(
|
|
Image_Graph::vertical(
|
|
Image_Graph::factory('title', array(_('Account creation per month'), 12)),
|
|
Image_Graph::vertical(
|
|
$Plotarea = Image_Graph::factory('plotarea'),
|
|
$Legend = Image_Graph::factory('legend'),
|
|
90
|
|
),
|
|
5
|
|
)
|
|
);
|
|
|
|
$Legend->setPlotarea($Plotarea);
|
|
|
|
$total =& Image_Graph::factory('Image_Graph_Dataset_Trivial');
|
|
$total->setName(_('before the month'));
|
|
$units =& Image_Graph::factory('Image_Graph_Dataset_Trivial');
|
|
$units->setName(_('during the month'));
|
|
|
|
$i = 0;
|
|
while ($db->next_record()) {
|
|
$units->addPoint($db->f('month'), $db->f('count'));
|
|
$total->addPoint($db->f('month'), $i);
|
|
$i += $db->f('count');
|
|
}
|
|
$Datasets[]= $total;
|
|
$Datasets[]= $units;
|
|
$Plot =& $Plotarea->addNew('bar', array($Datasets, 'stacked'));
|
|
|
|
$AxisX =& $Plotarea->getAxis(IMAGE_GRAPH_AXIS_X);
|
|
$AxisX->setLabelOption('showoffset', 1);
|
|
$AxisX->setLabelInterval(2);
|
|
|
|
// set a line color
|
|
$Plot->setLineColor('gray');
|
|
|
|
// create a fill array
|
|
$FillArray =& Image_Graph::factory('Image_Graph_Fill_Array');
|
|
$FillArray->addColor('blue@0.2');
|
|
$FillArray->addColor('yellow@0.2');
|
|
$FillArray->addColor('green@0.2');
|
|
|
|
// set a standard fill style
|
|
$Plot->setFillStyle($FillArray);
|
|
|
|
// create a Y data value marker
|
|
$Marker =& $Plot->addNew('Image_Graph_Marker_Value', IMAGE_GRAPH_VALUE_Y);
|
|
// and use the marker on the 1st plot
|
|
$Plot->setMarker($Marker);
|
|
|
|
$Plot->setDataSelector(Image_Graph::factory('Image_Graph_DataSelector_NoZeros'));
|
|
|
|
$Graph->Done();
|
|
|
|
?>
|