diff --git a/ajax/networking/get_netcfg.php b/ajax/networking/get_netcfg.php index 87411ba7..1520173d 100644 --- a/ajax/networking/get_netcfg.php +++ b/ajax/networking/get_netcfg.php @@ -1,4 +1,7 @@ 1) { - $dhcpdata['DNS1'] = $arrDns[1] ?? null; - } - if (count($arrDns) > 2) { - $dhcpdata['DNS2'] = $arrDns[2] ?? null; - } - } - } - - // fetch dhcpcd.conf settings for interface - $conf = file_get_contents(RASPI_DHCPCD_CONFIG); - preg_match('/^#\sRaspAP\s'.$interface.'\s.*?(?=\s*+$)/ms', $conf, $matched); - preg_match('/metric\s(\d*)/', $matched[0], $metric); - preg_match('/static\sip_address=(.*)/', $matched[0], $static_ip); - preg_match('/static\srouters=(.*)/', $matched[0], $static_routers); - preg_match('/static\sdomain_name_server=(.*)/', $matched[0], $static_dns); - preg_match('/fallback\sstatic_'.$interface.'/', $matched[0], $fallback); - preg_match('/(?:no)?gateway/', $matched[0], $gateway); - preg_match('/nohook\swpa_supplicant/', $matched[0], $nohook_wpa_supplicant); - $dhcpdata['Metric'] = $metric[1] ?? null; - $dhcpdata['StaticIP'] = isset($static_ip[1]) && strpos($static_ip[1], '/') !== false - ? substr($static_ip[1], 0, strpos($static_ip[1], '/')) - : ($static_ip[1] ?? ''); - $dhcpdata['SubnetMask'] = cidr2mask($static_ip[1] ?? ''); - $dhcpdata['StaticRouters'] = $static_routers[1] ?? null; - $dhcpdata['StaticDNS'] = $static_dns[1] ?? null; - $dhcpdata['FallbackEnabled'] = empty($fallback) ? false: true; - $dhcpdata['DefaultRoute'] = $gateway[0] == "gateway"; - $dhcpdata['NoHookWPASupplicant'] = ($nohook_wpa_supplicant[0] ?? '') == "nohook wpa_supplicant"; + $dhcpdata = $dhcpcdManager->getInterfaceConfig($interface); echo json_encode($dhcpdata); }