diff --git a/html/bandwidth-graph.php b/html/bandwidth-graph.php
index 0f6083d247..ddf71f690c 100644
--- a/html/bandwidth-graph.php
+++ b/html/bandwidth-graph.php
@@ -1,240 +1,257 @@
= FROM_UNIXTIME(?) AND `timestamp` <= FROM_UNIXTIME(?) GROUP BY DATE(timestamp) ORDER BY timestamp ASC", array($bill_id, $start, $end)) as $data)
+ {
+ $traf['in'] = (isset($data['traf_in']) ? $data['traf_in'] : 0);
+ $traf['out'] = (isset($data['traf_out']) ? $data['traf_out'] : 0);
+ $traf['total'] = (isset($data['traf_total']) ? $data['traf_total'] : 0);
+ $datelabel = strftime("%e\n%b", $data['timestamp']);
+ array_push($ticklabels, $datelabel);
+ array_push($in_data, $traf['in']);
+ array_push($out_data, $traf['out']);
+ array_push($tot_data, $traf['total']);
+ $average += $data['traf_total'];
}
-
- $start = $_GET['from'];
- $end = $_GET['to'];
- $xsize = (is_numeric($_GET['x']) ? $_GET['x'] : "800" );
- $ysize = (is_numeric($_GET['y']) ? $_GET['y'] : "250" );
-// $count = (is_numeric($_GET['count']) ? $_GET['count'] : "0" );
-// $type = (isset($_GET['type']) ? $_GET['type'] : "date" );
-// $dur = $end - $start;
-// $datefrom = date('Ymthis', $start);
-// $dateto = date('Ymthis', $end);
- $imgtype = (isset($_GET['type']) ? $_GET['type'] : "historical" );
- $imgbill = (isset($_GET['imgbill']) ? $_GET['imgbill'] : false);
- $yaxistitle = "Bytes";
-
- $in_data = array();
- $out_data = array();
- $tot_data = array();
- $allow_data = array();
- $ave_data = array();
- $overuse_data = array();
- $ticklabels = array();
-
- if ($imgtype == "historical") {
- $i = "0";
- foreach (dbFetchRows("SELECT * FROM `bill_history` WHERE `bill_id` = ? ORDER BY `bill_datefrom` DESC LIMIT 12", array($bill_id)) as $data) {
-
- $datefrom = strftime("%e %b %Y", strtotime($data['bill_datefrom']));
- $dateto = strftime("%e %b %Y", strtotime($data['bill_dateto']));
- $datelabel = $datefrom."\n".$dateto;
- $traf['in'] = $data['traf_in'];
- $traf['out'] = $data['traf_out'];
- $traf['total'] = $data['traf_total'];
-
- if ($data['bill_type'] == "Quota") {
- $traf['allowed']= $data['bill_allowed'];
- $traf['overuse']= $data['bill_overuse'];
- } else {
- $traf['allowed']= "0";
- $traf['overuse']= "0";
- }
- array_push($ticklabels, $datelabel);
- array_push($in_data, $traf['in']);
- array_push($out_data, $traf['out']);
- array_push($tot_data, $traf['total']);
- array_push($allow_data, $traf['allowed']);
- array_push($overuse_data, $traf['overuse']);
- $i++;
- //print_r($data);
- }
- if ($i < 12) {
- $y = 12 - $i;
- for ($x=0;$x<$y;$x++) {
- $allowed = (($x == "0") ? $traf['allowed'] : "0" );
- array_push($in_data, "0");
- array_push($out_data, "0");
- array_push($tot_data, "0");
- array_push($allow_data, $allowed);
- array_push($overuse_data, "0");
- array_push($ticklabels, "");
- }
- }
- $yaxistitle = "Gigabytes";
- $graph_name = "Historical bandwidth over the last 12 billing periods";
- } else {
- $data = array();
- $average = 0;
- if ($imgtype == "day") {
- foreach(dbFetch("SELECT DISTINCT UNIX_TIMESTAMP(timestamp) as timestamp, SUM(delta) as traf_total, SUM(in_delta) as traf_in, SUM(out_delta) as traf_out FROM bill_data WHERE `bill_id` = ? AND `timestamp` >= FROM_UNIXTIME(?) AND `timestamp` <= FROM_UNIXTIME(?) GROUP BY DATE(timestamp) ORDER BY timestamp ASC", array($bill_id, $start, $end)) as $data) {
- $traf['in'] = (isset($data['traf_in']) ? $data['traf_in'] : 0);
- $traf['out'] = (isset($data['traf_out']) ? $data['traf_out'] : 0);
- $traf['total'] = (isset($data['traf_total']) ? $data['traf_total'] : 0);
- $datelabel = strftime("%e\n%b", $data['timestamp']);
- array_push($ticklabels, $datelabel);
- array_push($in_data, $traf['in']);
- array_push($out_data, $traf['out']);
- array_push($tot_data, $traf['total']);
- $average += $data['traf_total'];
- }
- $ave_count = count($tot_data);
- if ($imgbill != false) {
- $days = strftime("%e", date($end - $start)) - $ave_count - 1;
- for ($x=0;$x<$days;$x++) {
- array_push($ticklabels, "");
- array_push($in_data, 0);
- array_push($out_data, 0);
- array_push($tot_data, 0);
- }
- }
- } elseif ($imgtype == "hour") {
- foreach(dbFetch("SELECT DISTINCT UNIX_TIMESTAMP(timestamp) as timestamp, SUM(delta) as traf_total, SUM(in_delta) as traf_in, SUM(out_delta) as traf_out FROM bill_data WHERE `bill_id` = ? AND `timestamp` >= FROM_UNIXTIME(?) AND `timestamp` <= FROM_UNIXTIME(?) GROUP BY HOUR(timestamp) ORDER BY timestamp ASC", array($bill_id, $start, $end)) as $data) {
- $traf['in'] = (isset($data['traf_in']) ? $data['traf_in'] : 0);
- $traf['out'] = (isset($data['traf_out']) ? $data['traf_out'] : 0);
- $traf['total'] = (isset($data['traf_total']) ? $data['traf_total'] : 0);
- $datelabel = strftime("%H:%M", $data['timestamp']);
- array_push($ticklabels, $datelabel);
- array_push($in_data, $traf['in']);
- array_push($out_data, $traf['out']);
- array_push($tot_data, $traf['total']);
- $average += $data['traf_total'];
- }
- $ave_count = count($tot_data);
- }
- $decimal = 0;
- $average = $average / $ave_count;
- for ($x=0;$x<=count($tot_data);$x++) {
- array_push($ave_data, $average);
- }
- $graph_name = date('M j g:ia', $start)." - ".date('M j g:ia', $end);
+ $ave_count = count($tot_data);
+ if ($imgbill != false)
+ {
+ $days = strftime("%e", date($end - $start)) - $ave_count - 1;
+ for ($x=0;$x<$days;$x++)
+ {
+ array_push($ticklabels, "");
+ array_push($in_data, 0);
+ array_push($out_data, 0);
+ array_push($tot_data, 0);
+ }
}
-
-
- // Create the graph. These two calls are always required
- $graph = new Graph($xsize, $ysize, $graph_name);
- $graph->img->SetImgFormat("png");
-
-# $graph->SetScale("textlin",0,0,$start,$end);
-
- $graph->SetScale("textlin");
- #$graph->title->Set("$graph_name");
- $graph->title->SetFont(FF_FONT2, FS_BOLD, 10);
- $graph->SetMarginColor("white");
- $graph->SetFrame(false);
- $graph->SetMargin("75", "30", "30", "65");
- $graph->legend->SetFont(FF_FONT1, FS_NORMAL);
- $graph->legend->SetLayout(LEGEND_HOR);
- $graph->legend->Pos("0.52", "0.91", "center");
-
- $graph->xaxis->SetFont(FF_FONT1, FS_BOLD);
- $graph->xaxis->SetPos('min');
- $graph->xaxis->SetTitleMargin(30);
- $graph->xaxis->SetTickLabels($ticklabels);
- $graph->xgrid->Show(true,true);
- $graph->xgrid->SetColor('#e0e0e0','#efefef');
-
- $graph->yaxis->SetFont(FF_FONT1);
- $graph->yaxis->SetTitleMargin(50);
- $graph->yaxis->title->SetFont(FF_FONT1, FS_NORMAL, 10);
- $graph->yaxis->title->Set("Bytes Transferred");
- $graph->yaxis->SetLabelFormatCallback('format_bytes_billing');
- $graph->ygrid->SetFill(true,'#EFEFEF@0.5','#FFFFFF@0.5');
-
-
- // Create the bar plots
- $barplot_tot = new BarPlot($tot_data);
- $barplot_tot->SetLegend("Traffic total");
- $barplot_tot->SetColor('darkgray');
- $barplot_tot->SetFillColor('lightgray@0.4');
- $barplot_tot->value->Show();
- $barplot_tot->value->SetFormatCallback('format_bytes_billing_short');
-
- $barplot_in = new BarPlot($in_data);
- $barplot_in->SetLegend("Traffic In");
- $barplot_in->SetColor('darkgreen');
- $barplot_in->SetFillColor('lightgreen@0.4');
- $barplot_in->SetWeight(1);
-
- $barplot_out = new BarPlot($out_data);
- $barplot_out->SetLegend("Traffic Out");
- $barplot_out->SetColor('darkblue');
- $barplot_out->SetFillColor('lightblue@0.4');
- $barplot_out->SetWeight(1);
-
-
- if ($imgtype == "historical") {
- $barplot_over = new BarPlot($overuse_data);
- $barplot_over->SetLegend("Traffic Overusage");
- $barplot_over->SetColor('darkred');
- $barplot_over->SetFillColor('lightred@0.4');
- $barplot_over->SetWeight(1);
-
- $lineplot_allow = new LinePlot($allow_data);
- $lineplot_allow->SetLegend("Traffic Allowed");
- $lineplot_allow->SetColor('black');
- $lineplot_allow->SetWeight(1);
-
- $gbplot = new GroupBarPlot(array($barplot_in, $barplot_tot, $barplot_out, $barplot_over));
- } else {
- $lineplot_allow = new LinePlot($ave_data);
- //$lineplot_allow->SetLegend("Average per ".$imgtype);
- $lineplot_allow->SetLegend("Average");
- $lineplot_allow->SetColor('black');
- $lineplot_allow->SetWeight(1);
-
- $gbplot = new GroupBarPlot(array($barplot_in, $barplot_tot, $barplot_out));
+ } elseif ($imgtype == "hour")
+ {
+ foreach (dbFetch("SELECT DISTINCT UNIX_TIMESTAMP(timestamp) as timestamp, SUM(delta) as traf_total, SUM(in_delta) as traf_in, SUM(out_delta) as traf_out FROM bill_data WHERE `bill_id` = ? AND `timestamp` >= FROM_UNIXTIME(?) AND `timestamp` <= FROM_UNIXTIME(?) GROUP BY HOUR(timestamp) ORDER BY timestamp ASC", array($bill_id, $start, $end)) as $data)
+ {
+ $traf['in'] = (isset($data['traf_in']) ? $data['traf_in'] : 0);
+ $traf['out'] = (isset($data['traf_out']) ? $data['traf_out'] : 0);
+ $traf['total'] = (isset($data['traf_total']) ? $data['traf_total'] : 0);
+ $datelabel = strftime("%H:%M", $data['timestamp']);
+ array_push($ticklabels, $datelabel);
+ array_push($in_data, $traf['in']);
+ array_push($out_data, $traf['out']);
+ array_push($tot_data, $traf['total']);
+ $average += $data['traf_total'];
}
+ $ave_count = count($tot_data);
+ }
- $graph->Add($gbplot);
- $graph->Add($lineplot_allow);
+ $decimal = 0;
+ $average = $average / $ave_count;
+ for ($x=0;$x<=count($tot_data);$x++)
+ {
+ array_push($ave_data, $average);
+ }
+ $graph_name = date('M j g:ia', $start)." - ".date('M j g:ia', $end);
+}
+// Create the graph. These two calls are always required
+$graph = new Graph($xsize, $ysize, $graph_name);
+$graph->img->SetImgFormat("png");
- // Display the graph
- $graph->Stroke();
+#$graph->SetScale("textlin",0,0,$start,$end);
+
+$graph->SetScale("textlin");
+#$graph->title->Set("$graph_name");
+$graph->title->SetFont(FF_FONT2, FS_BOLD, 10);
+$graph->SetMarginColor("white");
+$graph->SetFrame(false);
+$graph->SetMargin("75", "30", "30", "65");
+$graph->legend->SetFont(FF_FONT1, FS_NORMAL);
+$graph->legend->SetLayout(LEGEND_HOR);
+$graph->legend->Pos("0.52", "0.91", "center");
+
+$graph->xaxis->SetFont(FF_FONT1, FS_BOLD);
+$graph->xaxis->SetPos('min');
+$graph->xaxis->SetTitleMargin(30);
+$graph->xaxis->SetTickLabels($ticklabels);
+$graph->xgrid->Show(true,true);
+$graph->xgrid->SetColor('#e0e0e0','#efefef');
+
+$graph->yaxis->SetFont(FF_FONT1);
+$graph->yaxis->SetTitleMargin(50);
+$graph->yaxis->title->SetFont(FF_FONT1, FS_NORMAL, 10);
+$graph->yaxis->title->Set("Bytes Transferred");
+$graph->yaxis->SetLabelFormatCallback('format_bytes_billing');
+$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#FFFFFF@0.5');
+
+// Create the bar plots
+$barplot_tot = new BarPlot($tot_data);
+$barplot_tot->SetLegend("Traffic total");
+$barplot_tot->SetColor('darkgray');
+$barplot_tot->SetFillColor('lightgray@0.4');
+$barplot_tot->value->Show();
+$barplot_tot->value->SetFormatCallback('format_bytes_billing_short');
+
+$barplot_in = new BarPlot($in_data);
+$barplot_in->SetLegend("Traffic In");
+$barplot_in->SetColor('darkgreen');
+$barplot_in->SetFillColor('lightgreen@0.4');
+$barplot_in->SetWeight(1);
+
+$barplot_out = new BarPlot($out_data);
+$barplot_out->SetLegend("Traffic Out");
+$barplot_out->SetColor('darkblue');
+$barplot_out->SetFillColor('lightblue@0.4');
+$barplot_out->SetWeight(1);
+
+if ($imgtype == "historical")
+{
+ $barplot_over = new BarPlot($overuse_data);
+ $barplot_over->SetLegend("Traffic Overusage");
+ $barplot_over->SetColor('darkred');
+ $barplot_over->SetFillColor('lightred@0.4');
+ $barplot_over->SetWeight(1);
+
+ $lineplot_allow = new LinePlot($allow_data);
+ $lineplot_allow->SetLegend("Traffic Allowed");
+ $lineplot_allow->SetColor('black');
+ $lineplot_allow->SetWeight(1);
+
+ $gbplot = new GroupBarPlot(array($barplot_in, $barplot_tot, $barplot_out, $barplot_over));
+} else {
+ $lineplot_allow = new LinePlot($ave_data);
+ //$lineplot_allow->SetLegend("Average per ".$imgtype);
+ $lineplot_allow->SetLegend("Average");
+ $lineplot_allow->SetColor('black');
+ $lineplot_allow->SetWeight(1);
+
+ $gbplot = new GroupBarPlot(array($barplot_in, $barplot_tot, $barplot_out));
+}
+
+$graph->Add($gbplot);
+$graph->Add($lineplot_allow);
+
+// Display the graph
+$graph->Stroke();
?>
diff --git a/html/graph.php b/html/graph.php
index cae36ad6c3..62b548b873 100755
--- a/html/graph.php
+++ b/html/graph.php
@@ -53,17 +53,13 @@ include("includes/graphs/graph.inc.php");
$end = utime(); $run = $end - $start;;
-if($debug) { echo("
Runtime ".$run." secs");
-
- echo('
MySQL: Cell '.($db_stats['fetchcell']+0).'/'.round($db_stats['fetchcell_sec']+0,3).'s'.
- ' Row '.($db_stats['fetchrow']+0). '/'.round($db_stats['fetchrow_sec']+0,3).'s'.
- ' Rows '.($db_stats['fetchrows']+0).'/'.round($db_stats['fetchrows_sec']+0,3).'s'.
- ' Column '.($db_stats['fetchcol']+0). '/'.round($db_stats['fetchcol_sec']+0,3).'s');
+if($debug) { echo("
Runtime ".$run." secs");
+echo('
MySQL: Cell '.($db_stats['fetchcell']+0).'/'.round($db_stats['fetchcell_sec']+0,3).'s'.
+ ' Row '.($db_stats['fetchrow']+0). '/'.round($db_stats['fetchrow_sec']+0,3).'s'.
+ ' Rows '.($db_stats['fetchrows']+0).'/'.round($db_stats['fetchrows_sec']+0,3).'s'.
+ ' Column '.($db_stats['fetchcol']+0). '/'.round($db_stats['fetchcol_sec']+0,3).'s');
}
-
-
-
?>