From 258e0edbaad8e767060fa224c37f6594fea715a2 Mon Sep 17 00:00:00 2001 From: ShevAbam Date: Tue, 11 Nov 2014 18:37:32 +0100 Subject: Network : fix for ifconfig command and for getting network rates --- libs/network.php | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) (limited to 'libs') diff --git a/libs/network.php b/libs/network.php index e486fc5..20b5a3a 100644 --- a/libs/network.php +++ b/libs/network.php @@ -1,25 +1,40 @@ 'N.A', 'ip' => 'N.A'); } else { - exec('/sbin/ifconfig | awk \'/inet / {print $2}\' | cut -d \':\' -f2', $getIps); + foreach ($getInterfaces as $name) + { + $ip = null; + exec($ifconfig.' '.$name.' | awk \'/inet / {print $2}\' | cut -d \':\' -f2', $ip); + + if (!isset($ip[0])) + $ip[0] = ''; + + $network[] = array( + 'name' => $name, + 'ip' => $ip[0], + ); + } - foreach ($getInterfaces as $key => $interface) + foreach ($network as $interface) { // Get transmit and receive datas by interface - exec('cat /sys/class/net/'.$interface.'/statistics/tx_bytes', $getBandwidth_tx); - exec('cat /sys/class/net/'.$interface.'/statistics/rx_bytes', $getBandwidth_rx); + exec('cat /sys/class/net/'.$interface['name'].'/statistics/tx_bytes', $getBandwidth_tx); + exec('cat /sys/class/net/'.$interface['name'].'/statistics/rx_bytes', $getBandwidth_rx); $datas[] = array( - 'interface' => $interface, - 'ip' => $getIps[$key], + 'interface' => $interface['name'], + 'ip' => $interface['ip'], 'transmit' => Misc::getSize($getBandwidth_tx[0]), 'receive' => Misc::getSize($getBandwidth_rx[0]), ); -- cgit v1.2.3