diff --git a/html/includes/graphs/device/smokeping_all_common.inc.php b/html/includes/graphs/device/smokeping_all_common.inc.php
index 3549633bf..6f5a5aadc 100644
--- a/html/includes/graphs/device/smokeping_all_common.inc.php
+++ b/html/includes/graphs/device/smokeping_all_common.inc.php
@@ -38,11 +38,8 @@ foreach ($smokeping_files[$direction][$device['hostname']] as $source => $filena
$descr = rrdtool_escape($source, $descr_len);
- if ($config['smokeping']['integration'] === true) {
- $filename = $config['smokeping']['dir'] .'/'. $device['type'] .'/'. $filename;
- } else {
- $filename = $config['smokeping']['dir'] . $filename;
- }
+ $filename = generate_smokeping_file($device,$filename);
+
$rrd_options .= " DEF:median$i=".$filename.":median:AVERAGE ";
$rrd_options .= " DEF:loss$i=".$filename.":loss:AVERAGE";
$rrd_options .= " CDEF:ploss$i=loss$i,$pings,/,100,*";
diff --git a/html/includes/graphs/device/smokeping_all_common_avg.inc.php b/html/includes/graphs/device/smokeping_all_common_avg.inc.php
index 3178e613c..0f0248d03 100644
--- a/html/includes/graphs/device/smokeping_all_common_avg.inc.php
+++ b/html/includes/graphs/device/smokeping_all_common_avg.inc.php
@@ -39,11 +39,8 @@ foreach ($smokeping_files[$direction][$device['hostname']] as $source => $filena
$descr = rrdtool_escape($source, $descr_len);
- if ($config['smokeping']['integration'] === true) {
- $filename = $config['smokeping']['dir'] .'/'. $device['type'] .'/'. $filename;
- } else {
- $filename = $config['smokeping']['dir'] . $filename;
- }
+ $filename = generate_smokeping_file($device,$filename);
+
$rrd_options .= " DEF:median$i=".$filename.":median:AVERAGE ";
$rrd_options .= " CDEF:dm$i=median$i,UN,0,median$i,IF";
$rrd_options .= " DEF:loss$i=".$filename.":loss:AVERAGE";
diff --git a/html/includes/graphs/smokeping/in.inc.php b/html/includes/graphs/smokeping/in.inc.php
index 62abf2012..3114d6193 100644
--- a/html/includes/graphs/smokeping/in.inc.php
+++ b/html/includes/graphs/smokeping/in.inc.php
@@ -33,11 +33,7 @@ if($width > "500")
if($src['hostname'] == $config['own_hostname'])
{
- if ($config['smokeping']['integration'] === true) {
- $filename_dir = $config['smokeping']['dir'] .'/'. $device['type'] .'/';
- } else {
- $filename_dir = $config['smokeping']['dir'];
- }
+ $filename_dir = generate_smokeping_dir($device);
if (!file_exists($filename_dir.$device['hostname'].'.rrd'))
{
// Try with dots in hostname replaced by underscores
diff --git a/includes/common.php b/includes/common.php
index 514d42e18..f931793f7 100644
--- a/includes/common.php
+++ b/includes/common.php
@@ -751,11 +751,7 @@ function get_smokeping_files($device) {
global $config;
if (isset($config['smokeping']['dir'])) {
$smokeping_files = array();
- if ($config['smokeping']['integration'] === true) {
- $smokeping_dir = $config['smokeping']['dir'] . "/" . $device['type'];
- } else {
- $smokeping_dir = $config['smokeping']['dir'];
- }
+ $filename_dir = generate_smokeping_dir($device);
if ($handle = opendir($smokeping_dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
@@ -778,3 +774,22 @@ function get_smokeping_files($device) {
}
return $smokeping_files;
}
+
+function generate_smokeping_file($device,$file) {
+ global $config;
+ if ($config['smokeping']['integration'] === true) {
+ return $config['smokeping']['dir'] .'/'. $device['type'] .'/'. $file;
+ } else {
+ return $config['smokeping']['dir'] . $file;
+ }
+}
+
+function generate_smokeping_dir($device) {
+ global $config;
+ if ($config['smokeping']['integration'] === true) {
+ return $config['smokeping']['dir'] .'/'. $device['type'] .'/';
+ } else {
+ return $config['smokeping']['dir'];
+ }
+}
+