stats_graph.php

来自「GForge 3.0 协作开发平台 支持CVS, mailing lists, 」· PHP 代码 · 共 127 行

PHP
127
字号
<?php/**  *  * Project Statistics Graph  *  * This script produces PNG image which shows graph of downloads/pageviews  * across the time.  *  * SourceForge: Breaking Down the Barriers to Open Source Development  * Copyright 1999-2001 (c) VA Linux Systems  * http://sourceforge.net  *  * @version   $Id: stats_graph.php,v 1.2 2003/02/17 10:15:09 rspisser Exp $  *  */require_once('pre.php');require_once('graph_lib.php');require_once('project_stats_utils.php');if (!$group_id) {	exit_no_group();}if (!$report) {	$report = 'last_7';}   $unit = 'days';////	Data will be fetched in DESC order, then flipped into ASC order//if ( $report == 'last_7' ) {	$res=db_query("		SELECT month,day,downloads, subdomain_views as views,site_views as views2		FROM stats_project_vw		WHERE group_id='$group_id' ORDER BY month ASC, day ASC	", 7, 23, SYS_DB_STATS);    } elseif ( $report == 'last_30' ) {	$res=db_query("		SELECT month,day,downloads, subdomain_views as views,site_views as views2 		FROM stats_project_vw		WHERE group_id='$group_id' ORDER BY month ASC, day ASC	", -1, 0, SYS_DB_STATS);    } elseif ( $report == 'months' ) {	$res = db_query("		SELECT month,'15',downloads,subdomain_views as views,site_views as views2 		FROM stats_project_months 		WHERE group_id='$group_id'		ORDER BY group_id ASC, month ASC	", -1, 0, SYS_DB_STATS);	$unit = 'months';    } else {	$res=db_query("		SELECT month,day,downloads, subdomain_views as views,site_views as views2		FROM stats_project_vw		WHERE group_id='$group_id' ORDER BY month ASC, day ASC	", 7, 23, SYS_DB_STATS);    }$j = 0;$rows=db_numrows($res);$db_error=db_error();while (	$row = db_fetch_array($res) ) {	$xdata[$j]	  = $j;	$xlabel[$j]	 = substr($row['month'],4) . "-" . $row['day'];	$ydata1[$j]	 = $row["views"] + $row["views2"];	$ydata2[$j]	 = $row["downloads"];	$j++;}////	Add dummy data to keep graph from breaking//if ($rows < 1) {	$xdata[$j]=0;	$xlabel[$j]	 = "0-0";	$ydata1[$j]	 = 0;	$ydata2[$j]	 = 0;	$j++;	$xdata[$j]=1;	$xlabel[$j]	 = "0-1";	$ydata1[$j]	 = 0;	$ydata2[$j]	 = 0;}$graph = new Graph(600, 350);$graph->addDebug( "We appended $j/$rows rows of data to the graphing set." );$graph->addDebug( $db_error );//$graph->addDebug( "$begin_time" );//$graph->addDebug( "$sql" );@$data1 = $graph->AddData($xdata,$ydata1,$xlabel);@$data2 = $graph->AddData($xdata,$ydata2,$xlabel);$graph->DrawGrid('gray');$graph->LineGraph( $data1, 'red' );$graph->LineGraph( $data2, 'blue' );$graph->SetTitle($Language->getText('project_stats_graph','statistics', array($GLOBALS['sys_name'],group_getname($group_id))) );if ($unit=='days'){	$graph->SetSubTitle($Language->getText('project_stats_graph','page_view_days',array($j)));	}if ($unit=='months'){	$graph->SetSubTitle($Language->getText('project_stats_graph','page_view_months',array($j)));}$graph->SetxTitle($Language->getText('project_stats_graph','date'));$graph->SetyTitle($Language->getText('project_stats_graph','views'));$graph->DrawAxis();//$graph->showDebug();$graph->ShowGraph('png');?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?