diff options
-rw-r--r-- | src/etc/inc/pfsense-utils.inc | 14 | ||||
-rw-r--r-- | src/etc/inc/pkg-utils.inc | 7 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc index 2bd9849..301420c 100644 --- a/src/etc/inc/pfsense-utils.inc +++ b/src/etc/inc/pfsense-utils.inc @@ -3217,19 +3217,15 @@ function pkg_call_plugins($plugin_type, $plugin_params) { return $results; } foreach ($config['installedpackages']['package'] as $package) { - if (!file_exists("/usr/local/pkg/" . $package['configurationfile'])) { - continue; - } - $pkg_config = parse_xml_config_pkg("/usr/local/pkg/" . $package['configurationfile'], 'packagegui'); - $pkgname = substr(reverse_strrchr($package['configurationfile'], "."), 0, -1); - if (is_array($pkg_config['plugins']['item'])) { - foreach ($pkg_config['plugins']['item'] as $plugin) { + if (is_array($package['plugins']['item'])) { + foreach ($package['plugins']['item'] as $plugin) { if ($plugin['type'] == $plugin_type) { - if (file_exists($pkg_config['include_file'])) { - require_once($pkg_config['include_file']); + if (file_exists($package['include_file'])) { + require_once($package['include_file']); } else { continue; } + $pkgname = substr(reverse_strrchr($package['configurationfile'], "."), 0, -1); $plugin_function = $pkgname . '_'. $plugin_type; $results[$pkgname] = call_user_func($plugin_function, $plugin_params); } diff --git a/src/etc/inc/pkg-utils.inc b/src/etc/inc/pkg-utils.inc index 36e0885..df4ac49 100644 --- a/src/etc/inc/pkg-utils.inc +++ b/src/etc/inc/pkg-utils.inc @@ -835,6 +835,13 @@ function install_package_xml($package_name) { if (is_array($pkg_config['tabs'])) { $config['installedpackages']['package'][$pkgid]['tabs'] = $pkg_config['tabs']; } + /* plugins */ + if (isset($pkg_config['include_file'])) { + $config['installedpackages']['package'][$pkgid]['include_file'] = $pkg_config['include_file']; + } + if (is_array($pkg_config['plugins']['item'])) { + $config['installedpackages']['package'][$pkgid]['plugins']['item'] = $pkg_config['plugins']['item']; + } } else { pkg_debug("Unable to find config file\n"); update_status(gettext("Loading package configuration... failed!") . "\n\n" . gettext("Installation aborted.")); |