diff --git a/src/www/widgets/api/plugins/interfaces.inc b/src/www/widgets/api/plugins/interfaces.inc new file mode 100644 index 000000000..3ca1b6e2d --- /dev/null +++ b/src/www/widgets/api/plugins/interfaces.inc @@ -0,0 +1,59 @@ + $ifname) { + $ifinfo = get_interface_info($ifdescr); + $interfaceItem = array(); + $interfaceItem['inpkts'] = $ifinfo['inpkts']; + $interfaceItem['outpkts'] = $ifinfo['outpkts']; + $interfaceItem['inbytes'] = $ifinfo['inbytes']; + $interfaceItem['outbytes'] = $ifinfo['outbytes']; + $interfaceItem['inbytes_frmt'] = format_bytes($ifinfo['inbytes']); + $interfaceItem['outbytes_frmt'] = format_bytes($ifinfo['outbytes']); + + $interfaceItem['name'] = $ifname; + if ($ifinfo['status'] == "up" || $ifinfo['status'] == "associated") { + $interfaceItem['status'] = "up"; + } elseif ($ifinfo['status'] == "no carrier") { + $interfaceItem['status'] = "down"; + } elseif ($ifinfo['status'] == "down") { + $interfaceItem['status'] = "block"; + } else { + $interfaceItem['status'] = ""; + } + $interfaceItem['ipaddr'] = empty($ifinfo['ipaddr']) ? "" : $ifinfo['ipaddr']; + $interfaceItem['media'] = empty($ifinfo['media']) ? "" : $ifinfo['media']; + $result[] = $interfaceItem; + } + return $result; +}