<packagegui>
	<name>doormanusers</name>
	<title>Doorman: Users</title>
	<menu>
                <name>Doorman</name>
                <tooltiptext>Modify doormand settings and users.</tooltiptext>
                <section>Services</section>
                <configfile>doorman.xml</configfile>
		<url>/pkg_edit.php?xml=doorman.xml&amp;id=0</url>
        </menu>
	<tabs>
		<tab> 
                        <text>Settings</text>
                        <url>/pkg_edit.php?xml=doorman.xml&amp;id=0</url>
                </tab>
                <tab>
                        <text>Users</text>
                        <url>/pkg.php?xml=doormanusers.xml</url>
			<active/>
                </tab>
        </tabs>
	<configpath>installedpackages->package->$packagename->configuration->settings</configpath>
	<adddeleteeditpagefields>
		<columnitem>
			<fielddescr>Username</fielddescr>
			<fieldname>username</fieldname>
		</columnitem>
		<columnitem>
			<fielddescr>Ports</fielddescr>
			<fieldname>ports</fieldname>
		</columnitem>
		<columnitem>
			<fielddescr>Addresses</fielddescr>
			<fieldname>addresses</fieldname>
		</columnitem>
		<columnitem>
			<fielddescr>Description</fielddescr>
			<fieldname>description</fieldname>
		</columnitem>
	</adddeleteeditpagefields>
	<fields>
		<field>
			<fielddescr>Username</fielddescr>
			<fieldname>username</fieldname>
			<description>Enter the username here. This may be up to 32 characters in length.</description>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Password</fielddescr>
			<fieldname>password</fieldname>
			<description>Enter the password here. This may be up to 64 characters in length.</description>
			<type>password</type>
		</field>
		<field>
			<fielddescr>Allowed ports</fielddescr>
			<fieldname>ports</fieldname>
			<description>Enter a whitespace-delimited list of the ports or service names *to* which this user may connect.</description>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Allowed addresses</fielddescr>
			<fieldname>addresses</fieldname>
			<description>Enter a whitespace-delimited list of the IP addresses or hostnames *from* which this user may connect. Addresses may be unique or expressed as ranges using CIDR notation.</description>
			<type>input</type>
		</field>
		<field>
			<fielddescr>Description</fielddescr>
			<fieldname>description</fieldname>
			<description>Enter a description for this user here.</description>
			<type>input</type>
		</field>
	</fields>
	<custom_php_global_functions>
	function sync_package_doorman_users() {
		if ($_POST == "") $_POST = $config['installedpackages']['doormanusers']['config'];
		conf_mount_rw();
		config_lock();
		global $config;
		$fout = fopen("/usr/local/etc/doormand/guestlist","w");
		fwrite($fout, "# This file was automatically generated by the pfSense\n# package management system.\n\n");
		if($config['installedpackages']['doormanusers'] != "") {
			foreach($config['installedpackages']['doormanusers']['config'] as $rowhelper) {
				fwrite($fout, $rowhelper['username'] . "\t" . $rowhelper['password'] . "\n\t" . $rowhelper['ports'] . "\n\t" . $rowhelper['addresses'] . "\n\n");
			}
		}
		fclose($fout);
		restart_service("doorman");
		conf_mount_ro();
		config_unlock();
	}
	</custom_php_global_functions>
	<custom_add_php_command>
		sync_package_doorman_users();
	</custom_add_php_command>
</packagegui>