diff options
author | Colin Smith <colin@pfsense.org> | 2005-06-22 19:39:28 +0000 |
---|---|---|
committer | Colin Smith <colin@pfsense.org> | 2005-06-22 19:39:28 +0000 |
commit | 3c41c4abe1bbfe64db16632a59ec3f94ba366778 (patch) | |
tree | bc9d1ec312f714e9b17e3642fce443cba889a485 | |
parent | 815af8fbb4bed02738adb2f1ce12b87e4f25ac60 (diff) | |
download | pfsense-3c41c4abe1bbfe64db16632a59ec3f94ba366778.zip pfsense-3c41c4abe1bbfe64db16632a59ec3f94ba366778.tar.gz |
Add service handler.
-rw-r--r-- | etc/inc/pkg-utils.inc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/etc/inc/pkg-utils.inc b/etc/inc/pkg-utils.inc index f34f07c..c4e82bd 100644 --- a/etc/inc/pkg-utils.inc +++ b/etc/inc/pkg-utils.inc @@ -44,6 +44,7 @@ function restore_pkg_listtags() { restore_pkg_listtags(); +require_once("service-utils.inc"); require_once("pfsense-utils.inc"); require_once("globals.inc"); @@ -664,6 +665,7 @@ function delete_package_xml($pkg) { /* parse package configuration */ $packages = &$config['installedpackages']['package']; $menus = &$config['installedpackages']['menu']; + $services = &$config['installedpackages']['service']; if(file_exists("/usr/local/pkg/" . $packages[$pkgid]['configurationfile'])) { $pkg_config = parse_xml_config("/usr/local/pkg/" . $packages[$pkgid]['configurationfile'], "packagegui"); /* remove menu items */ @@ -679,6 +681,19 @@ function delete_package_xml($pkg) { $static_output .= "done.\n"; update_output_window($static_output); } + /* remove services */ + if(is_array($pkg_config['service'])) { + $static_output .= "\tServices... "; + update_output_window($static_output); + foreach($services as $service) $instservices[] = $service['name']; + foreach($pkg_config['service'] as $service) { + foreach($instservices as $key => $instservice) { + if($instservice == $service['name']) unset($services[$key]); + } + } + $static_output .= "done.\n"; + update_output_window($static_output); + } /* evalate this package's global functions and pre deinstall commands */ if($pkg_config['custom_php_global_functions'] <> "") eval_once($pkg_config['custom_php_global_functions']); |