blob: 6bcb67c50bcf434a5d87b0d5a032d17822788a06 (
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
56
57
|
<?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( STATS_PKG_INCLUDE_PATH . "phplot.php" );
global $gBitSystem;
$gBitSystem->isPackageActive( 'stats' );
$gBitSystem->verifyPermission( 'p_stats_view' );
$stats = new Statistics();
$data = $stats->getContentTypeChartData( !empty( $_REQUEST['content_type_guid'] ) ? $_REQUEST['content_type_guid'] : null );
$chart_type = !empty( $_REQUEST['chart_type'] ) ? $_REQUEST['chart_type'] : 'bars';
// initialise phplot and insert data
$graph = new PHPlot( 600, 400 * ( count( $data['data'] ) ) );
$graph->SetPrintImage(0);
$graph->SetPlotType( $chart_type );
$graph->SetXTickPos( 'none' );
//$graph->SetYScaleType( 'log' );
$graph->SetTitle( KernelTools::tra ( $data['title'] ) );
$graph->SetXLabel( KernelTools::tra ( 'Title' ) );
$i = 0;
foreach( $data['data'] as $guid => $info ) {
$graph->SetDataValues( $info );
$graph->SetDrawXDataLabels( true );
$graph->SetXLabelAngle( ( count( $info ) > 5 ) ? 90 : 0 );
$graph->SetNewPlotAreaPixels( 75, 30 + ( $i * 390 ), 580, 370 + ( $i * 390 ) );
if( !empty( $_REQUEST['content_type_guid'] ) ) {
$graph->SetYLabel( $gLibertySystem->getContentTypeName( $_REQUEST['content_type_guid'] ).' '.KernelTools::tra( 'Hits' ).' ('.KernelTools::tra( "log" ).')' );
} else {
$graph->SetYLabel( $gLibertySystem->getContentTypeName( $guid ).' '.KernelTools::tra( 'Hits' ).' ('.KernelTools::tra( "log" ).')' );
}
$graph->DrawGraph();
$i++;
}
$graph->PrintImage();
|