| @@ 366-389 (lines=24) @@ | ||
| 363 | if (isset($ar_buf[10])) { |
|
| 364 | $dev->setDrops($ar_buf[10]); |
|
| 365 | } |
|
| 366 | if (defined('PSI_SHOW_NETWORK_INFOS') && (PSI_SHOW_NETWORK_INFOS) && (CommonFunctions::executeProgram('ifconfig', $ar_buf[0].' 2>/dev/null', $bufr2, PSI_DEBUG))) { |
|
| 367 | $bufe2 = preg_split("/\n/", $bufr2, -1, PREG_SPLIT_NO_EMPTY); |
|
| 368 | foreach ($bufe2 as $buf2) { |
|
| 369 | if (preg_match('/^\s+ether\s+(\S+)/i', $buf2, $ar_buf2)) |
|
| 370 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').preg_replace('/:/', '-', strtoupper($ar_buf2[1]))); |
|
| 371 | elseif (preg_match('/^\s+inet\s+(\S+)\s+netmask/i', $buf2, $ar_buf2)) |
|
| 372 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1]); |
|
| 373 | elseif ((preg_match('/^\s+inet6\s+([^\s%]+)\s+prefixlen/i', $buf2, $ar_buf2) |
|
| 374 | || preg_match('/^\s+inet6\s+([^\s%]+)%\S+\s+prefixlen/i', $buf2, $ar_buf2)) |
|
| 375 | && ($ar_buf2[1]!="::") && !preg_match('/^fe80::/i', $ar_buf2[1])) |
|
| 376 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').strtolower($ar_buf2[1])); |
|
| 377 | elseif (preg_match('/^\s+media:\s+/i', $buf2) && preg_match('/[\(\s](\d+)(G*)base/i', $buf2, $ar_buf2)) { |
|
| 378 | if (isset($ar_buf2[2]) && strtoupper($ar_buf2[2])=="G") { |
|
| 379 | $unit = "G"; |
|
| 380 | } else { |
|
| 381 | $unit = "M"; |
|
| 382 | } |
|
| 383 | if (preg_match('/[<\s]([^\s<]+)-duplex/i', $buf2, $ar_buf3)) |
|
| 384 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1].$unit.'b/s '.strtolower($ar_buf3[1])); |
|
| 385 | else |
|
| 386 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1].$unit.'b/s'); |
|
| 387 | } |
|
| 388 | } |
|
| 389 | } |
|
| 390 | $this->sys->setNetDevices($dev); |
|
| 391 | } |
|
| 392 | } |
|
| @@ 97-120 (lines=24) @@ | ||
| 94 | $dev->setDrops($ar_buf[11]); |
|
| 95 | } |
|
| 96 | } |
|
| 97 | if (defined('PSI_SHOW_NETWORK_INFOS') && (PSI_SHOW_NETWORK_INFOS) && (CommonFunctions::executeProgram('ifconfig', $ar_buf[0].' 2>/dev/null', $bufr2, PSI_DEBUG))) { |
|
| 98 | $bufe2 = preg_split("/\n/", $bufr2, -1, PREG_SPLIT_NO_EMPTY); |
|
| 99 | foreach ($bufe2 as $buf2) { |
|
| 100 | if (preg_match('/^\s+ether\s+(\S+)/i', $buf2, $ar_buf2)) |
|
| 101 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').preg_replace('/:/', '-', strtoupper($ar_buf2[1]))); |
|
| 102 | elseif (preg_match('/^\s+inet\s+(\S+)\s+netmask/i', $buf2, $ar_buf2)) |
|
| 103 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1]); |
|
| 104 | elseif ((preg_match('/^\s+inet6\s+([^\s%]+)\s+prefixlen/i', $buf2, $ar_buf2) |
|
| 105 | || preg_match('/^\s+inet6\s+([^\s%]+)%\S+\s+prefixlen/i', $buf2, $ar_buf2)) |
|
| 106 | && ($ar_buf2[1]!="::") && !preg_match('/^fe80::/i', $ar_buf2[1])) |
|
| 107 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').strtolower($ar_buf2[1])); |
|
| 108 | elseif (preg_match('/^\s+media:\s+/i', $buf2) && preg_match('/[\(\s](\d+)(G*)base/i', $buf2, $ar_buf2)) { |
|
| 109 | if (isset($ar_buf2[2]) && strtoupper($ar_buf2[2])=="G") { |
|
| 110 | $unit = "G"; |
|
| 111 | } else { |
|
| 112 | $unit = "M"; |
|
| 113 | } |
|
| 114 | if (preg_match('/[<\s]([^\s<]+)-duplex/i', $buf2, $ar_buf3)) |
|
| 115 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1].$unit.'b/s '.strtolower($ar_buf3[1])); |
|
| 116 | else |
|
| 117 | $dev->setInfo(($dev->getInfo()?$dev->getInfo().';':'').$ar_buf2[1].$unit.'b/s'); |
|
| 118 | } |
|
| 119 | } |
|
| 120 | } |
|
| 121 | $this->sys->setNetDevices($dev); |
|
| 122 | } |
|
| 123 | } |
|