summaryrefslogtreecommitdiffstats
path: root/etc/inc/service-utils.inc
diff options
context:
space:
mode:
authorphildd <ict.advisor@nepal.inf.org>2013-04-01 08:11:03 +0545
committerphildd <ict.advisor@nepal.inf.org>2013-04-01 08:11:03 +0545
commitccfc02695a53f9e8c513fbd39e5595f913a9ca51 (patch)
treefbbeffecbd6f16d3744600056ef720bd8440cf79 /etc/inc/service-utils.inc
parenta6637a3116640e06c5ff8bfaf917bbd22c1e2a4a (diff)
downloadpfsense-ccfc02695a53f9e8c513fbd39e5595f913a9ca51.zip
pfsense-ccfc02695a53f9e8c513fbd39e5595f913a9ca51.tar.gz
Check for disabled services when displaying service lists
Diffstat (limited to 'etc/inc/service-utils.inc')
-rw-r--r--etc/inc/service-utils.inc19
1 files changed, 16 insertions, 3 deletions
diff --git a/etc/inc/service-utils.inc b/etc/inc/service-utils.inc
index 6ee15a3..ccf4bac 100644
--- a/etc/inc/service-utils.inc
+++ b/etc/inc/service-utils.inc
@@ -197,6 +197,15 @@ function restart_service_if_running($service) {
return;
}
+function is_service_enabled($service_name) {
+ global $config;
+ if ($service_name == "")
+ return false;
+ if (isset($config['installedpackages'][$service_name]['config'][0]['enable']) && !($config['installedpackages'][$service_name]['config'][0]['enable']))
+ return false;
+ return true;
+}
+
function is_service_running($service, $ps = "") {
global $config;
@@ -422,7 +431,8 @@ function get_service_status_icon($service, $withtext = true, $smallicon = false)
$output .= "&nbsp;&nbsp;" . $statustext;
$output .= "</td>\n";
} else {
- $statustext = gettext("Stopped");
+ $service_enabled = is_service_enabled($service['name']);
+ $statustext = ($service_enabled) ? gettext("Stopped") : gettext("Disabled");
$output .= '<td class="listbg" align="center">' . "\n";
$output .= "<img style=\"vertical-align:middle\" title=\"" . sprintf(gettext("%s Service is"),$service["name"]) . " {$statustext}\" src=\"/themes/" . $g["theme"] . "/images/icons/";
$output .= ($smallicon) ? "icon_block.gif" : "icon_service_stopped.gif";
@@ -463,6 +473,7 @@ function get_service_control_links($service, $addname = false) {
$output .= "<img style=\"vertical-align:middle\" title='" . sprintf(gettext("Stop %sService"),$stitle) . "' border='0' src='./themes/".$g['theme']."/images/icons/icon_service_stop.gif' alt='stop' />";
$output .= "</a>";
} else {
+ $service_enabled = is_service_enabled($service['name']);
switch ($service['name']) {
case "openvpn":
$output .= "<a href='status_services.php?mode=startservice&amp;service={$service['name']}&amp;vpnmode={$service['mode']}&amp;id={$service['vpnid']}'>";
@@ -471,9 +482,11 @@ function get_service_control_links($service, $addname = false) {
$output .= "<a href='status_services.php?mode=startservice&amp;service={$service['name']}&amp;zone={$service['zone']}'>";
break;
default:
- $output .= "<a href='status_services.php?mode=startservice&amp;service={$service['name']}'>";
+ if ($service_enabled)
+ $output .= "<a href='status_services.php?mode=startservice&amp;service={$service['name']}'>";
}
- $output .= "<img style=\"vertical-align:middle\" title='" . sprintf(gettext("Start %sService"),$stitle) . "' border='0' src='./themes/".$g['theme']."/images/icons/icon_service_start.gif' alt='start' /></a>\n";
+ if ($service_enabled)
+ $output .= "<img style=\"vertical-align:middle\" title='" . sprintf(gettext("Start %sService"),$stitle) . "' border='0' src='./themes/".$g['theme']."/images/icons/icon_service_start.gif' alt='start' /></a>\n";
}
return $output;
}
OpenPOWER on IntegriCloud