function guifi_rename_graphs($old, $new) { $ext = array('_6.rrd', '_ping.rrd'); $fold = variable_get('rrddb_path', '/home/comesfa/mrtg/logs/') . guifi_rrdfile($old); $fnew = variable_get('rrddb_path', '/home/comesfa/mrtg/logs/') . guifi_rrdfile($new); foreach ($ext as $fext) { // print "Going to rename ".$fold.$fext." to ".$fnew.$fext."\n<br />"; if (file_exists($fold . $fext)) { rename($fold . $fext, $fnew . $fext); // print $fold.$fext." renamed to ".$fnew.$fext."\n<br />"; } } }
/** * guifi_get_availability **/ function guifi_graphs_get_pings($hostname, $start = NULL, $end = NULL) { $var = array(); $var['max_latency'] = 0; $var['min_latency'] = NULL; $var['last'] = NULL; $var['avg_latency'] = 0; $var['succeed'] = 0; $var['samples'] = 0; if ($start == NULL) { $start = time() - 60 * 60 * 24 * 7; } if ($end == NULL) { $end = time() - 300; } // print 'Start/end: '.$start.' '.$end."\n<br />"; $fn = variable_get('rrddb_path', '/home/comesfa/mrtg/logs/') . guifi_rrdfile($hostname) . "_ping.rrd"; // print $fn."\n<br />"; if (file_exists($fn)) { $cmd = sprintf("%s fetch %s AVERAGE --start=%d --end=%d", variable_get('rrdtool_path', '/usr/bin/rrdtool'), $fn, $start, $end); // print $cmd."\n<br />"; $fp = popen($cmd, "r"); if (isset($fp)) { while (!feof($fp)) { $failed = 'nan'; $n = sscanf(fgets($fp), "%d: %f %f", $interval, $failed, $latency); if (is_numeric($failed) && $n == 3) { $var['succeed'] += $failed; $last_suceed = $failed; if ($latency > 0) { // print $interval.' '.$failed.' '.$latency."\n<br />"; $var['avg_latency'] += $latency; if ($var['max_latency'] < $latency) { $var['max_latency'] = $latency; } if ($var['min_latency'] > $latency || $var['min_latency'] == NULL) { $var['min_latency'] = $latency; } } $var['last'] = $interval; $var['samples']++; } } } pclose($fp); } if ($var['samples'] > 0) { $var['succeed'] = 100 - $var['succeed'] / $var['samples']; $var['avg_latency'] = $var['avg_latency'] / $var['samples']; $var['last_sample'] = date('H:i', $var['last']); $var['last_succeed'] = 100 - $last_suceed; } return $var; }