introducing rrdtool_escape, more to come

git-svn-id: http://www.observium.org/svn/observer/trunk@3229 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Tom Laermans
2012-05-23 10:18:14 +00:00
parent 73991acf84
commit 75113e0218
7 changed files with 31 additions and 17 deletions

View File

@@ -34,7 +34,7 @@ foreach ($rrd_list as $rrd)
$ds = $rrd['ds'];
$filename = $rrd['filename'];
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr'], $descr_len),0,$descr_len));
$descr = rrdtool_escape($rrd['descr'], $descr_len);
$id = "ds".$i;

View File

@@ -34,12 +34,12 @@ foreach ($rrd_list as $rrd)
if (isset($rrd['descr_in']))
{
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr_in'], $descr_len),0,$descr_len)) . " In";
$descr = rrdtool_escape($rrd['descr_in'], $descr_len) . " In";
} else {
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr'], $descr_len),0,$descr_len)) . " In";
$descr = rrdtool_escape($rrd['descr'], $descr_len) . " In";
}
$descr_out = str_replace(":", "\:", substr(str_pad($rrd['descr_out'], $descr_len),0,$descr_len)). " Out";
$descr = str_replace("'", "", $descr);
$descr_out = rrdtool_escape($rrd['descr_out'], $descr_len) . " Out";
$descr = str_replace("'", "", $descr); # FIXME does this mean ' should be filtered in rrdtool_escape? probably...
$descr_out = str_replace("'", "", $descr_out);
$rrd_options .= " DEF:".$in.$i."=".$rrd['filename'].":".$ds_in.":AVERAGE ";

View File

@@ -34,13 +34,12 @@ foreach ($rrd_list as $rrd)
if (isset($rrd['descr_in']))
{
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr_in'], $descr_len),0,$descr_len)) . " In";
$descr = rrdtool_escape($rrd['descr_in'], $descr_len) . " In";
} else {
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr'], $descr_len),0,$descr_len)) . " In";
$descr = rrdtool_escape($rrd['descr'], $descr_len) . " In";
}
$descr_out = str_replace(":", "\:", substr(str_pad($rrd['descr_out'], $descr_len),0,$descr_len)). " Out";
$descr = str_replace("'", "", $descr);
$descr_out = rrdtool_escape($rrd['descr_out'], $descr_len) . " Out";
$descr = str_replace("'", "", $descr); # FIXME does this mean ' should be filtered in rrdtool_escape? probably...
$descr_out = str_replace("'", "", $descr_out);
$rrd_options .= " DEF:".$in.$i."=".$rrd['filename'].":".$ds_in.":AVERAGE ";

View File

@@ -34,7 +34,7 @@ foreach ($rrd_list as $rrd)
$ds = $rrd['ds'];
$filename = $rrd['filename'];
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr'], $descr_len),0,$descr_len));
$descr = rrdtool_escape($rrd['descr'], $descr_len);
$id = "ds".$i;

View File

@@ -7,7 +7,7 @@ $units_descr = substr(str_pad($units_descr, 18),0,18);
if($format == "octets" || $format == "bytes")
{
$units = "Bps";
$format = "bits";
$format = "bits"; # FIXME bits? or bytes?
} else {
$units = "bps";
$format = "bits";
@@ -64,7 +64,7 @@ foreach ($rrd_list as $rrd)
if ($i) { $stack="STACK"; }
$rrd_options .= " AREA:inbits".$i."#" . $colour_in . ":'" . substr(str_pad($rrd['descr'], 10),0,10) . "In ':$stack";
$rrd_options .= " AREA:inbits".$i."#" . $colour_in . ":'" . rrdtool_escape($rrd['descr'], 10) . "In ':$stack";
$rrd_options .= " GPRINT:inbits".$i.":LAST:%6.2lf%s";
$rrd_options .= " GPRINT:inbits".$i.":AVERAGE:%6.2lf%s";
$rrd_options .= " GPRINT:inbits".$i.":MAX:%6.2lf%s";

View File

@@ -4,9 +4,9 @@ include("includes/graphs/common.inc.php");
if($width > "500")
{
$descr_len=24;
$descr_len = 24; # FIXME may even be more imo?
} else {
$descr_len=12;
$descr_len = 12;
$descr_len += round(($width - 250) / 8);
}
@@ -39,7 +39,7 @@ foreach ($rrd_list as $i => $rrd)
$colour_iter++;
}
$descr = str_replace(":", "\:", substr(str_pad($rrd['descr'], $descr_len),0,$descr_len));
$descr = rrdtool_escape($rrd['descr'], $descr_len);
$rrd_options .= " DEF:".$rrd['ds'].$i."=".$rrd['filename'].":".$rrd['ds'].":AVERAGE ";
@@ -101,7 +101,7 @@ foreach ($rrd_list as $i => $rrd)
$rrd_options .= " GPRINT:".$t_defname.$i.":LAST:%5.2lf%s GPRINT:".$t_defname.$i."min:MIN:%5.2lf%s";
$rrd_options .= " GPRINT:".$t_defname.$i."max:MAX:%5.2lf%s GPRINT:".$t_defname.$i.":AVERAGE:'%5.2lf%s\\n'";
if (!$nototal) { $rrd_options .= " GPRINT:tot".$rrd['ds'].$i.":%6.2lf%s".str_replace("%", "%%", $total_units).""; }
if (!$nototal) { $rrd_options .= " GPRINT:tot".$rrd['ds'].$i.":%6.2lf%s".rrdtool_escape($total_units).""; }
$rrd_options .= " COMMENT:'\\n'";
}

View File

@@ -224,4 +224,19 @@ function rrdtool_lastupdate($filename, $options)
return rrdtool("lastupdate", $filename, $options);
}
function rrdtool_escape($string, $maxlength = NULL)
{
$result = str_replace(':','\:',$string);
$result = str_replace('%','%%',$result);
if ($maxlength != NULL)
{
return substr(str_pad($result, $maxlength),0,$maxlength+(strlen($result)-strlen($string)));
}
else
{
return $result;
}
}
?>