<packagegui>
    <name>ifdepd</name>
    <version>20050303</version>
    <title>ifdepd: Settings</title>
    <aftersaveredirect>/pkg_edit.php?xml=ifdepd.xml&amp;id=0</aftersaveredirect>
    <menu>
	<name>ifdepd</name>
	<tooltiptext>Modify ifdepd settings.</tooltiptext>
	<section>Services</section>
	<configfile>ifdepd.xml</configfile>
	<url>pkg_edit.php?xml=ifdepd.xml&amp;id=0</url>
    </menu>
    <service>
	<name>ifdepd</name>
	<rcfile>ifdepd.sh</rcfile>
	<executable>ifdepd</executable>
    </service>
    <configpath>installedpackages->package->$packagename->configuration->settings</configpath>
    <fields>
	<field>
		<fielddescr>Use default values</fielddescr>
		<fieldname>usedefaults</fieldname>
		<description>If this is checked ifdepd will monitor the WAN and LAN interfaces for connectivity and will disable carp0 and carp1 upon their failure.</description>
		<type>checkbox</type>
	</field>
	<field>
		<fielddescr>Source interfaces</fielddescr>
		<fieldname>srcinterface</fieldname>
		<description>Enter a colon seperated list of interfaces to monitor for connectivity. You must use the physical interface names.</description>
		<type>input</type>
	</field>
	<field>
		<fielddescr>Destination interfaces</fielddescr>
		<fieldname>destinterface</fieldname>
		<description>Enter a colon seperated list of interfaces to disable once one of the source interfaces loses connectivity. You must specify physical interface names.</description>
		<type>input</type>
	</field>
    </fields>
    <custom_php_global_functions>
	function sync_package_ifdepd() {
                conf_mount_rw();
                config_lock();
                global $config;
		$ifdepd_config =&amp; $config['installedpackages']['ifdepd']['config'][0];
                if($ifdepd_config != "") {
                        if(isset($ifdepd_config['usedefaults'])) {
                                $lan_int = $config['interfaces']['lan']['if'];
                                $wan_int = $config['interfaces']['wan']['if'];
                                $start = "/usr/local/bin/ifdepd -d -S " . $lan_int . ":" . $wan_int . " -D carp0:carp1\n";
                        } else {
                                $start = "/usr/local/bin/ifdepd -d -S " . $ifdepd_config['srcinterface'] . " -D " . $_POST['destinterface'] . "\n";
                        }
			write_rcfile(array(
						"file" => "ifdepd.sh",
						"start" => $start,
						"stop" => "/usr/bin/killall ifdepd"
					)
			);
			restart_service("ifdepd");
                }
                conf_mount_ro();
                config_unlock();
        }
    </custom_php_global_functions>
    <custom_add_php_command>
	sync_package_ifdepd();
    </custom_add_php_command>
    <custom_php_resync_command>
	sync_package_ifdepd();
    </custom_php_resync_command>
</packagegui>