<?xml version="1.0" encoding="utf-8" ?> <packagegui> <name>upclient</name> <title>upclient: Settings</title> <version>5.0.b8_2</version> <configpath>installedpackages->package->$packagename->configuration->settings</configpath> <aftersaveredirect>pkg_edit.php?xml=upclient.xml&id=0</aftersaveredirect> <menu> <name>upclient</name> <tooltiptext>Modify upclient settings.</tooltiptext> <section>Services</section> <configfile>upclient.xml</configfile> <url>/pkg_edit.php?xml=upclient.xml&id=0</url> </menu> <service> <name>upclient</name> <rcfile>upclient.sh</rcfile> <executable>upclient</executable> </service> <fields> <field> <fielddescr>Authorization Key</fielddescr> <fieldname>authkey</fieldname> <description>This system's uptime authorization key.</description> <type>input</type> </field> <field> <fielddescr>Update Interval</fielddescr> <fieldname>interval</fieldname> <description>The interval between updates, in seconds (default 550).</description> <type>input</type> </field> <field> <fielddescr>Uptime Server</fielddescr> <fieldname>server</fieldname> <description>The server this system should send uptime reports to.</description> <type>input</type> </field> </fields> <custom_php_global_functions> function sync_package_upclient() { global $config; conf_mount_rw(); config_lock(); $upclient_conf = $config['installedpackages']['upclient']['config'][0]; $fout = fopen("/usr/local/etc/upclient.conf", "w"); if($upclient_conf['authkey'] and $upclient_conf['server']) { fwrite($fout, "PidFile = /var/run/upclient.pid # Location of pid file\n"); fwrite($fout, "AuthKey = {$upclient_conf['authkey']}\n"); $interval = $upclient_conf['interval'] ? $upclient_conf['interval'] : "550"; fwrite($fout, "Interval = {$interval}\n"); fwrite($fout, "UptimeServer = {$upclient_conf['server']}\n"); $static = <<<EOD SendIdle = 1 # Send CPU idle percent SendUsage = 1 # Send CPU load percent SendOSName = 1 # Send name of your Operating System SendOSVersion = 1 # Send version of your OS SendCPU = 1 # Send CPU name of your machine SendCPUDetail = 1 # (BSD, Linux & Solaris only) SendLoadAvg = 1 # Send 15-minute Load-average (unix only) EOD; fwrite($fout, $static); fclose($fout); } $start = "/usr/local/sbin/upclient &"; write_rcfile(array( "file" => "upclient.sh", "start" => $start ) ); restart_service("upclient"); conf_mount_ro(); config_unlock(); } </custom_php_global_functions> <custom_add_php_command> sync_package_upclient(); </custom_add_php_command> </packagegui>