Project

General

Profile

« Previous | Next » 

Revision eaee3af6

Added by Pi Ba over 11 years ago

rc.carpmaster/rc.carpbackup notification method for packages.

View differences:

etc/inc/pfsense-utils.inc
2860 2860

  
2861 2861
}
2862 2862

  
2863
function call_plugins($plugin_type, $plugin_params) {
2864
	global $g, $config;
2865
	$results = array();
2866
	foreach ($config['installedpackages']['package'] as $package) {
2867
		if(!file_exists("/usr/local/pkg/" . $package['configurationfile']))
2868
			continue;
2869
		$pkg_config = parse_xml_config_pkg("/usr/local/pkg/" . $package['configurationfile'], 'packagegui');
2870
		$pkgname = substr(reverse_strrchr($package['configurationfile'], "."),0,-1);
2871
		if (is_array($pkg_config['plugins']))
2872
			foreach ($pkg_config['plugins'] as $plugin) {
2873
				if ($plugin['type'] == 'plugin_carp') {
2874
					if (file_exists($pkg_config['include_file']))
2875
						require_once($pkg_config['include_file']);
2876
					else
2877
						continue;
2878
					$plugin_function = $pkgname . '_'. $plugin_type;
2879
					$results[$pkgname] = @eval($plugin_function($plugin_params));
2880
				}
2881
			}
2882
	}
2883
	return $results;
2884
}
2885

  
2863 2886
?>
etc/rc.carpbackup
64 64
	}
65 65
}
66 66

  
67
$pluginparams = array();
68
$pluginparams['type'] = 'carp';
69
$pluginparams['event'] = 'rc.carpbackup';
70
$pluginparams['interface'] = $argv[1];
71
call_plugins('plugin_carp', $pluginparams);
72

  
67 73

  
68 74
?>
etc/rc.carpmaster
72 72
	}
73 73
}
74 74

  
75
$pluginparams = array();
76
$pluginparams['type'] = 'carp';
77
$pluginparams['event'] = 'rc.carpmaster';
78
$pluginparams['interface'] = $argv[1];
79
call_plugins('plugin_carp', $pluginparams);
80

  
75 81
?>

Also available in: Unified diff