From a2071365fbdbc906a61137caae735b642501a228 Mon Sep 17 00:00:00 2001 From: jim-p Date: Mon, 1 Nov 2010 14:46:28 -0400 Subject: Sync service status widget code with service status page. Fixes #984 --- .../www/widgets/widgets/services_status.widget.php | 184 ++++++++++++--------- 1 file changed, 104 insertions(+), 80 deletions(-) (limited to 'usr') diff --git a/usr/local/www/widgets/widgets/services_status.widget.php b/usr/local/www/widgets/widgets/services_status.widget.php index 11b3dce..0ce1f33 100644 --- a/usr/local/www/widgets/widgets/services_status.widget.php +++ b/usr/local/www/widgets/widgets/services_status.widget.php @@ -30,47 +30,53 @@ */ require_once("guiconfig.inc"); +require_once("captiveportal.inc"); require_once("service-utils.inc"); +require_once("ipsec.inc"); +require_once("vpn.inc"); require_once("/usr/local/www/widgets/include/services_status.inc"); -function get_pkg_descr($package_name) { +function gentitle_pkg($pgname) { global $config; - foreach($config['installedpackages']['package'] as $pkg) { - if($pkg['name'] == $package_name) - return $pkg['descr']; - } - return "Not available."; + return $config['system']['hostname'] . "." . $config['system']['domain'] . " - " . $pgname; } -exec("/bin/ps ax | awk '{ print $5 }'", $psout); -array_shift($psout); -foreach($psout as $line) { - $ps[] = trim(array_pop(explode(' ', array_pop(explode('/', $line))))); +function get_pkg_descr($package_name) { + global $config; + if (is_array($config['installedpackages']['package'])) { + foreach($config['installedpackages']['package'] as $pkg) { + if($pkg['name'] == $package_name) + return $pkg['descr']; + } + } + return gettext("Not available."); } -$services = $config['installedpackages']['service']; +if (is_array($config['installedpackages']['service'])) + $services = $config['installedpackages']['service']; +else + $services = array(); /* Add services that are in the base. * */ if(isset($config['dnsmasq']['enable'])) { - $sconfig['name'] = "dnsmasq"; - $sconfig['description'] = "DNS Forwarder"; - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "dnsmasq"; + $pconfig['description'] = gettext("DNS Forwarder"); + $services[] = $pconfig; } -$sconfig['name'] = "ntpd"; -$sconfig['description'] = "NTP clock sync"; -$services[] = $sconfig; -unset($sconfig); +$pconfig = array(); +$pconfig['name'] = "ntpd"; +$pconfig['description'] = gettext("NTP clock sync"); +$services[] = $pconfig; if(isset($config['captiveportal']['enable'])) { - $sconfig['name'] = "lighttpd"; - $sconfig['description'] = "Captive Portal"; - $services[] = $sconfig; - $sconfig = ""; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "captiveportal"; + $pconfig['description'] = gettext("Captive Portal"); + $services[] = $pconfig; } $iflist = array(); @@ -87,58 +93,58 @@ foreach($iflist as $if) { } if($show_dhcprelay == true) { - $sconfig['name'] = "dhcrelay"; - $sconfig['description'] = "DHCP Relay"; - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "dhcrelay"; + $pconfig['description'] = gettext("DHCP Relay"); + $services[] = $pconfig; } if(is_dhcp_server_enabled()) { - $sconfig['name'] = "dhcpd"; - $sconfig['description'] = "DHCP Service"; - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "dhcpd"; + $pconfig['description'] = gettext("DHCP Service"); + $services[] = $pconfig; } if(isset($config['snmpd']['enable'])) { - $sconfig['name'] = "bsnmpd"; - $sconfig['description'] = "SNMP Service"; - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "bsnmpd"; + $pconfig['description'] = gettext("SNMP Service"); + $services[] = $pconfig; } if (count($config['igmpproxy']['igmpentry']) > 0) { - $sconfig['name'] = "igmpproxy"; - $sconfig['description'] = "IGMP proxy"; - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "igmpproxy"; + $pconfig['descritption'] = gettext("IGMP proxy"); + $services[] = $pconfig; } if($config['installedpackages']['miniupnpd']['config'][0]['enable']) { - $sconfig['name'] = "miniupnpd"; - $sconfig['description'] = gettext("UPnP Service"); - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "miniupnpd"; + $pconfig['description'] = gettext("UPnP Service"); + $services[] = $pconfig; } if (isset($config['ipsec']['enable'])) { - $sconfig['name'] = "racoon"; - $sconfig['description'] = gettext("IPsec VPN"); - $services[] = $sconfig; - unset($sconfig); + $pconfig = array(); + $pconfig['name'] = "racoon"; + $pconfig['description'] = gettext("IPsec VPN"); + $services[] = $pconfig; } foreach (array('server', 'client') as $mode) { - if (is_array($config['installedpackages']["openvpn$mode"]['config'])) { - foreach ($config['installedpackages']["openvpn$mode"]['config'] as $id => $settings) { - $setting = $config['installedpackages']["openvpn$mode"]['config'][$id]; - if (!$setting['disable']) { - $sconfig['name'] = "openvpn"; - $sconfig['mode'] = $mode; - $sconfig['id'] = $id; - $sconfig['description'] = "OpenVPN ".$mode.": ".htmlspecialchars($setting['description']); - $services[] = $sconfig; - unset($sconfig); + if (is_array($config['openvpn']["openvpn-{$mode}"])) { + foreach ($config['openvpn']["openvpn-{$mode}"] as $id => $setting) { + if (!isset($setting['disable'])) { + $pconfig = array(); + $pconfig['name'] = "openvpn"; + $pconfig['mode'] = $mode; + $pconfig['id'] = $id; + $pconfig['vpnid'] = $setting['vpnid']; + $pconfig['description'] = gettext("OpenVPN") . " ".$mode.": ".htmlspecialchars($setting['description']); + $services[] = $pconfig; } } } @@ -169,37 +175,55 @@ if(isset($_POST['servicestatusfilter'])) { 0) { foreach($services as $service) { - if((!$service['name']) || (in_array($service['name'], $skipservices))) continue; - if(!$service['description']) $service['description'] = get_pkg_descr($service['name']); - echo '' . $service['name'] . "\n"; - echo '' . substr($service['description'],0 ,20) . "\n"; - if(is_service_running($service['name'])) { - echo '
'; - echo " Running\n"; - $running = true; + if((!$service['name']) || (in_array($service['name'], $skipservices))) + continue; + if (empty($service['description'])) + $service['description'] = get_pkg_descr($service['name']); + echo '' . $service['name'] . '' . "\n"; + echo '' . $service['description'] . '' . "\n"; + if ($service['name'] == "openvpn") + $running = is_pid_running("{$g['varrun_path']}/openvpn_{$service['mode']}{$service['vpnid']}.pid"); + else if ($service['name'] == "captiveportal") + $running = is_pid_running("{$g['varrun_path']}/lighty-CaptivePortal.pid"); + else + $running = is_service_running($service['name']); + if($running) { + echo '
' . "\n"; + echo " " . gettext("Running") . "\n"; } else { - echo '
'; - echo " Stopped\n"; - $running = false; + echo '
' . "\n"; + echo " " . gettext("Stopped") . "\n"; } - echo '
'; + echo ''; if($running) { - echo ""; - echo " "; - echo ""; - echo " "; + if ($service['name'] == "openvpn") { + echo ""; + } else { + echo ""; + } + echo "\n"; + if ($service['name'] == "openvpn") { + echo ""; + } else { + echo ""; + } + echo ""; echo ""; } else { - echo " "; - echo " "; + if ($service['name'] == "openvpn") { + echo ""; + } else { + echo " "; + } + + echo "\n"; } - echo "
\n"; - echo "\n"; + echo "\n"; } } else { - echo "
No services found.\n"; + echo "
" . gettext("No services found") . ".\n"; } ?> -- cgit v1.1