[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] phpgwapi/inc/class.ping.inc.php, 1.4
From: |
nomail |
Subject: |
[Phpgroupware-cvs] phpgwapi/inc/class.ping.inc.php, 1.4 |
Date: |
Thu, 30 Dec 2004 07:47:31 +0100 |
Update of /phpgwapi/inc
Added Files:
Branch:
class.ping.inc.php
date: 2004/12/30 06:47:31; author: skwashd; state: Exp; lines: +17 -26
Log Message:
new HEAD
=====================================================================
<?php
/**
* Linux only ping class for detecting network connections
* @author Joseph Engo <address@hidden>
* @copyright Copyright (C) 2001-2004 Free Software Foundation, Inc.
http://www.fsf.org/
* @license http://www.fsf.org/licenses/lgpl.html GNU Lesser General
Public License
* @package phpgwapi
* @subpackage network
* @version $Id: class.ping.inc.php,v 1.4 2004/12/30 06:47:31 skwashd
Exp $
*/
/**
* Linux only ping class for detecting network connections
*
* @package phpgwapi
* @subpackage network
*/
class ping
{
var $hostname;
var $packet_tx;
var $packet_rx;
var $packet_loss;
var $reponse_min;
var $reponse_max;
var $reponse_avg;
var $reponse_mdev;
var $raw_array_of_data = array();
function ping($hostname)
{
$this->hostname = $hostname;
$this->re_ping();
}
function clear_values()
{
$this->packet_tx = 0;
$this->packet_rx = 0;
$this->packet_loss = 0;
$this->reponse_min = '';
$this->reponse_max = '';
$this->reponse_avg = '';
$this->reponse_mdev = '';
$this->raw_array_of_data = array();
}
function re_ping()
{
$this->clear_values();
$raw_data = 'ping -c 5 $this->hostname';
$this->raw_array_of_data = explode("\n",$raw_data);
$this->parse_times();
$this->parse_responses();
}
function parse_responses()
{
$dl =
$this->raw_array_of_data[count($this->raw_array_of_data) - 3];
$values = explode(',',$dl);
$packet_tx = ereg_replace(' packets
transmitted','',$values[0]);
$packet_rx = ereg_replace(' packets
received','',$values[1]);
$packet_loss = ereg_replace('% packet
loss','',$values[2]);
$this->packet_tx = (int)ereg_replace('
','',$packet_tx);
$this->packet_rx = (int)ereg_replace('
','',$packet_rx);
$this->packet_loss = (int)ereg_replace('
','',$packet_loss);
}
function parse_times()
{
$tl =
$this->raw_array_of_data[count($this->raw_array_of_data) - 2];
$times_split = explode(' = ',$tl);
$raw_times = $times_split[1];
$raw_times = ereg_replace(' ms','',$raw_times);
$values = explode('/',$raw_times);
$this->response_min = $values[0];
$this->response_avg = $values[1];
$this->response_max = $values[2];
$this->response_mdev = $values[3];
}
function debug_output()
{
echo '<br><b>Debug output</b><hr width="20%"
align="left">';
echo '<b>hostname:</b> ' . $this->hostname;
echo '<br><b>tx:</b> ' . $this->packet_tx;
echo '<br><b>rx:</b> ' . $this->packet_rx;
echo '<br><b>loss:</b> ' . $this->packet_loss;
echo '<br><b>min:</b> ' . $this->response_min;
echo '<br><b>max:</b> ' . $this->response_max;
echo '<br><b>avg:</b> ' . $this->response_avg;
echo '<br><b>mdev:</b> ' . $this->response_mdev;
}
}