diff --git a/html/includes/graphs/device/bits.inc.php b/html/includes/graphs/device/bits.inc.php
index 5e9a7c5b1..b843760ff 100644
--- a/html/includes/graphs/device/bits.inc.php
+++ b/html/includes/graphs/device/bits.inc.php
@@ -61,9 +61,10 @@ $graph_title .= "::bits";
$colour_line_in = "006600";
$colour_line_out = "000099";
-$colour_area_in = "CDEB8B";
-$colour_area_out = "C3D9FF";
+$colour_area_in = "91B13C";
+$colour_area_out = "8080BD";
-include("includes/graphs/generic_multi_bits_separated.inc.php");
+#include("includes/graphs/generic_multi_bits_separated.inc.php");
+include("includes/graphs/generic_multi_data.inc.php");
?>
diff --git a/html/includes/graphs/generic_multi_bits.inc.php b/html/includes/graphs/generic_multi_bits.inc.php
index f37639866..72365f4a6 100644
--- a/html/includes/graphs/generic_multi_bits.inc.php
+++ b/html/includes/graphs/generic_multi_bits.inc.php
@@ -18,6 +18,19 @@ foreach ($rrd_filenames as $key => $rrd_filename)
$pluses .= $plus;
$seperator = ",";
$plus = ",+";
+
+ if($_GET['previous'])
+ {
+ $rrd_options .= " DEF:".$in."octets" . $i . "X=".$rrd_filename.":".$ds_in.":AVERAGE:start=".$prev_from.":end=".$from;
+ $rrd_options .= " DEF:".$out."octets" . $i . "X=".$rrd_filename.":".$ds_out.":AVERAGE:start=".$prev_from.":end=".$from;
+ $rrd_options .= " SHIFT:".$in."octets" . $i . "X:$period";
+ $rrd_options .= " SHIFT:".$out."octets" . $i . "X:$period";
+ $in_thingX .= $seperatorX . "inoctets" . $i . "X,UN,0," . "inoctets" . $i . "X,IF";
+ $out_thingX .= $seperatorX . "outoctets" . $i . "X,UN,0," . "outoctets" . $i . "X,IF";
+ $plusesX .= $plusX;
+ $seperatorX = ",";
+ $plusX = ",+";
+ }
$i++;
}
@@ -34,6 +47,19 @@ if ($i)
$rrd_options .= " VDEF:95thout=outbits,95,PERCENT";
$rrd_options .= " VDEF:d95thout=doutbits,5,PERCENT";
+ if($_GET['previous'] == "yes")
+ {
+ $rrd_options .= " CDEF:".$in."octetsX=" . $in_thingX . $pluses;
+ $rrd_options .= " CDEF:".$out."octetsX=" . $out_thingX . $pluses;
+ $rrd_options .= " CDEF:doutoctetsX=outoctetsX,-1,*";
+ $rrd_options .= " CDEF:inbitsX=inoctetsX,8,*";
+ $rrd_options .= " CDEF:outbitsX=outoctetsX,8,*";
+ $rrd_options .= " CDEF:doutbitsX=doutoctetsX,8,*";
+ $rrd_options .= " VDEF:95thinX=inbitsX,95,PERCENT";
+ $rrd_options .= " VDEF:95thoutX=outbitsX,95,PERCENT";
+ $rrd_options .= " VDEF:d95thoutX=doutbitsX,5,PERCENT";
+ }
+
if ($legend == 'no' || $legend == '1')
{
$rrd_options .= " AREA:inbits#".$colour_area_in.":";
@@ -58,6 +84,13 @@ if ($i)
$rrd_options .= " LINE1:95thin#aa0000";
$rrd_options .= " LINE1:d95thout#aa0000";
+
+ if($_GET['previous'] == "yes")
+ {
+ $rrd_options .= " AREA:inbitsX#9999966:";
+ $rrd_options .= " AREA:doutbitsX#99999966:";
+ }
+
}
#$rrd_options .= " HRULE:0#999999";
diff --git a/html/includes/graphs/generic_multi_data.inc.php b/html/includes/graphs/generic_multi_data.inc.php
new file mode 100644
index 000000000..9bc4fcb8f
--- /dev/null
+++ b/html/includes/graphs/generic_multi_data.inc.php
@@ -0,0 +1,109 @@
+ $rrd_filename)
+{
+ if ($rrd_inverted[$key]) { $in = 'out'; $out = 'in'; } else { $in = 'in'; $out = 'out'; }
+
+ $rrd_options .= " DEF:".$in."octets" . $i . "=".$rrd_filename.":".$ds_in.":AVERAGE";
+ $rrd_options .= " DEF:".$out."octets" . $i . "=".$rrd_filename.":".$ds_out.":AVERAGE";
+ $in_thing .= $seperator . "inoctets" . $i . ",UN,0," . "inoctets" . $i . ",IF";
+ $out_thing .= $seperator . "outoctets" . $i . ",UN,0," . "outoctets" . $i . ",IF";
+ $pluses .= $plus;
+ $seperator = ",";
+ $plus = ",+";
+
+ if($_GET['previous'])
+ {
+ $rrd_options .= " DEF:".$in."octets" . $i . "X=".$rrd_filename.":".$ds_in.":AVERAGE:start=".$prev_from.":end=".$from;
+ $rrd_options .= " DEF:".$out."octets" . $i . "X=".$rrd_filename.":".$ds_out.":AVERAGE:start=".$prev_from.":end=".$from;
+ $rrd_options .= " SHIFT:".$in."octets" . $i . "X:$period";
+ $rrd_options .= " SHIFT:".$out."octets" . $i . "X:$period";
+ $in_thingX .= $seperatorX . "inoctets" . $i . "X,UN,0," . "inoctets" . $i . "X,IF";
+ $out_thingX .= $seperatorX . "outoctets" . $i . "X,UN,0," . "outoctets" . $i . "X,IF";
+ $plusesX .= $plusX;
+ $seperatorX = ",";
+ $plusX = ",+";
+ }
+ $i++;
+}
+
+if ($i)
+{
+ if ($inverse) { $in = 'out'; $out = 'in'; } else { $in = 'in'; $out = 'out'; }
+ $rrd_options .= " CDEF:".$in."octets=" . $in_thing . $pluses;
+ $rrd_options .= " CDEF:".$out."octets=" . $out_thing . $pluses;
+ $rrd_options .= " CDEF:doutoctets=outoctets,-1,*";
+ $rrd_options .= " CDEF:inbits=inoctets,8,*";
+ $rrd_options .= " CDEF:outbits=outoctets,8,*";
+ $rrd_options .= " CDEF:doutbits=doutoctets,8,*";
+ $rrd_options .= " VDEF:95thin=inbits,95,PERCENT";
+ $rrd_options .= " VDEF:95thout=outbits,95,PERCENT";
+ $rrd_options .= " VDEF:d95thout=doutbits,5,PERCENT";
+
+ if($_GET['previous'] == "yes")
+ {
+ $rrd_options .= " CDEF:".$in."octetsX=" . $in_thingX . $pluses;
+ $rrd_options .= " CDEF:".$out."octetsX=" . $out_thingX . $pluses;
+ $rrd_options .= " CDEF:doutoctetsX=outoctetsX,-1,*";
+ $rrd_options .= " CDEF:inbitsX=inoctetsX,8,*";
+ $rrd_options .= " CDEF:outbitsX=outoctetsX,8,*";
+ $rrd_options .= " CDEF:doutbitsX=doutoctetsX,8,*";
+ $rrd_options .= " VDEF:95thinX=inbitsX,95,PERCENT";
+ $rrd_options .= " VDEF:95thoutX=outbitsX,95,PERCENT";
+ $rrd_options .= " VDEF:d95thoutX=doutbitsX,5,PERCENT";
+ }
+
+ if ($legend == 'no' || $legend == '1')
+ {
+ $rrd_options .= " AREA:in".$format."#".$colour_area_in.":";
+# $rrd_options .= " LINE1.25:in".$format."#".$colour_line_in.":";
+ $rrd_options .= " AREA:dout".$format."#".$colour_area_out.":";
+# $rrd_options .= " LINE1.25:dout".$format."#".$colour_line_out.":";
+ } else {
+ $rrd_options .= " AREA:in".$format."#".$colour_area_in.":";
+ $rrd_options .= " COMMENT:'bps Now Ave Max 95th %\\n'";
+# $rrd_options .= " LINE1.25:in".$format."#".$colour_line_in.":In\ ";
+ $rrd_options .= " GPRINT:in".$format.":LAST:%6.2lf%s";
+ $rrd_options .= " GPRINT:in".$format.":AVERAGE:%6.2lf%s";
+ $rrd_options .= " GPRINT:in".$format.":MAX:%6.2lf%s";
+ $rrd_options .= " GPRINT:95thin:%6.2lf%s\\\\n";
+ $rrd_options .= " AREA:dout".$format."#".$colour_area_out.":";
+# $rrd_options .= " LINE1.25:dout".$format."#".$colour_line_out.":Out";
+ $rrd_options .= " GPRINT:out".$format.":LAST:%6.2lf%s";
+ $rrd_options .= " GPRINT:out".$format.":AVERAGE:%6.2lf%s";
+ $rrd_options .= " GPRINT:out".$format.":MAX:%6.2lf%s";
+ $rrd_options .= " GPRINT:95thout:%6.2lf%s\\\\n";
+ }
+
+ $rrd_options .= " LINE1:95thin#aa0000";
+ $rrd_options .= " LINE1:d95thout#aa0000";
+
+ if($_GET['previous'] == "yes")
+ {
+ $rrd_options .= " AREA:in".$format."X#99999999:";
+ $rrd_options .= " AREA:dout".$format."X#99999999:";
+ $rrd_options .= " LINE1.25:in".$format."X#666666:";
+ $rrd_options .= " LINE1.25:dout".$format."X#666666:";
+ }
+
+}
+
+#$rrd_options .= " HRULE:0#999999";
+
+?>
diff --git a/html/includes/graphs/generic_simplex.inc.php b/html/includes/graphs/generic_simplex.inc.php
index 916debaf1..b554f377d 100644
--- a/html/includes/graphs/generic_simplex.inc.php
+++ b/html/includes/graphs/generic_simplex.inc.php
@@ -18,7 +18,6 @@ if ($multiplier)
$rrd_options .= " DEF:".$ds."=".$rrd_filename.":".$ds.":AVERAGE";
$rrd_options .= " DEF:".$ds."_max=".$rrd_filename.":".$ds.":MAX";
}
-
if ($print_total)
{
$rrd_options .= " VDEF:".$ds."_total=ds,TOTAL";
@@ -28,11 +27,42 @@ if ($percentile)
{
$rrd_options .= " VDEF:".$ds."_percentile=".$ds.",".$percentile.",PERCENT";
}
-
if ($graph_max)
{
$rrd_options .= " AREA:".$ds."_max#".$colour_area_max.":";
}
+
+if($_GET['previous'] == "yes")
+{
+ if ($multiplier)
+ {
+ $rrd_options .= " DEF:".$ds."_oX=".$rrd_filename.":".$ds.":AVERAGE:start=".$prev_from.":end=".$from;
+ $rrd_options .= " DEF:".$ds."_max_oX=".$rrd_filename.":".$ds.":MAX:start=".$prev_from.":end=".$from;
+ $rrd_options .= " SHIFT:".$ds."_oX:$period";
+ $rrd_options .= " SHIFT:".$ds."_max_oX:$period";
+ $rrd_options .= " CDEF:".$ds."X=".$ds."_oX,$multiplier,*";
+ $rrd_options .= " CDEF:".$ds."_maxX=".$ds."_max_oX,$multiplier,*";
+ } else {
+ $rrd_options .= " DEF:".$ds."X=".$rrd_filename.":".$ds.":AVERAGE:start=".$prev_from.":end=".$from;
+ $rrd_options .= " DEF:".$ds."_maxX=".$rrd_filename.":".$ds.":MAX:start=".$prev_from.":end=".$from;
+ $rrd_options .= " SHIFT:".$ds."X:$period";
+ $rrd_options .= " SHIFT:".$ds."_maxX:$period";
+ }
+ if ($print_total)
+ {
+ $rrd_options .= " VDEF:".$ds."_totalX=ds,TOTAL";
+ }
+ if ($percentile)
+ {
+ $rrd_options .= " VDEF:".$ds."_percentileX=".$ds.",".$percentile.",PERCENT";
+ }
+# if ($graph_max)
+# {
+# $rrd_options .= " AREA:".$ds."_max#".$colour_area_max.":";
+# }
+}
+
+
$rrd_options .= " AREA:".$ds."#".$colour_area.":";
$rrd_options .= " COMMENT:'".$unit_text."Now Ave Max";
@@ -65,4 +95,9 @@ if ($percentile)
$rrd_options .= " LINE1:".$ds."_percentile#aa0000";
}
+if($_GET['previous'] == "yes")
+{
+ $rrd_options .= " LINE1.25:".$ds."X#666666:'Prev \\\\n'";
+}
+
?>
diff --git a/html/includes/graphs/multiport/bits.inc.php b/html/includes/graphs/multiport/bits.inc.php
index 368d9abc4..abb20a7c7 100644
--- a/html/includes/graphs/multiport/bits.inc.php
+++ b/html/includes/graphs/multiport/bits.inc.php
@@ -26,6 +26,6 @@ $colour_line_out = "000099";
$colour_area_in = "CDEB8B";
$colour_area_out = "C3D9FF";
-include("includes/graphs/generic_multi_bits.inc.php");
+include("includes/graphs/generic_multi_data.inc.php");
?>