summaryrefslogtreecommitdiff
path: root/usage_chart.php
blob: 821bd02a8bf477bf228f5c8f770a3082facf17f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
/**
 * $Header$
 *
 * Copyright (c) 2004 bitweaver.org
 * Copyright (c) 2003 tikwiki.org
 * Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
 * All Rights Reserved. See below for details and a complete list of authors.
 * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details
 *
 * $Id$
 * @package stats
 * @subpackage functions
 */

/**
 * required setup
**/
use Bitweaver\KernelTools;
use Bitweaver\Stats\Statistics;

require_once '../kernel/includes/setup_inc.php';
include_once UTIL_PKG_INCLUDE_PATH . "phplot.php";
global $gBitSystem;

$gBitSystem->isPackageActive( 'stats' );
$gBitSystem->verifyPermission( 'p_stats_view' );

$stats = new Statistics();

$data = $stats->getUsageChartData();

$chart_type = !empty( $_REQUEST['chart_type'] ) ? $_REQUEST['chart_type'] : 'bars';

// initialise phplot and insert data
$graph = new PHPlot( 600, 400 );
$graph->SetTitle( KernelTools::tra( 'Site Usage Statistics' ) );
$graph->SetPlotType( $chart_type );
if( $chart_type == 'pie' ) {
	$graph->SetShading( 20 );
	$graph->SetLegendPixels( 1, 30 );
	$graph->SetLegend( $data['legend'] );
	$graph->SetDataValues( $data['data'] );
} else {
	array_shift( $data['data'][0] );
	foreach( $data['data'][0] as $key => $item ) {
		$bars[] = [ $data['legend'][$key], $item ];
	}
	$graph->SetShading( 7 );
	$graph->SetDataValues( $bars );
	$graph->SetDrawXDataLabels( true );
	$graph->SetXLabelAngle( ( count( $bars ) > 5 ) ? 90 : 0 );
	$graph->SetXTickPos('none');
}
$graph->DrawGraph();