From f3a11b7384b90c1014e86337bfd84f0d8b3d5583 Mon Sep 17 00:00:00 2001 From: Seth Mos Date: Mon, 26 Nov 2007 20:18:11 +0000 Subject: Start lcdproc package --- packages/lcdproc/lcdproc.inc | 99 ++++++++++++++++++++++++++++++++++++++++++++ packages/lcdproc/lcdproc.xml | 78 ++++++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 packages/lcdproc/lcdproc.inc create mode 100644 packages/lcdproc/lcdproc.xml (limited to 'packages') diff --git a/packages/lcdproc/lcdproc.inc b/packages/lcdproc/lcdproc.inc new file mode 100644 index 00000000..b453dccd --- /dev/null +++ b/packages/lcdproc/lcdproc.inc @@ -0,0 +1,99 @@ + 0) + return true; + return false; + } + + function lcdproc_write_config($file, $text) { + $handle = fopen($file, 'w'); + if(!$handle) { + lcdproc_warn("Could not open {$file} for writing."); + exit; + } + fwrite($handle, $text); + fclose($handle); + } + + function before_form_lcdproc($pkg) { + global $config; + + config_lock(); + + config_unlock(); + } + + function validate_form_lcdproc($post, $input_errors) { + if($post['comport']) { + switch($post['comport']) { + case "none": + continue; + break; + case "com2": + continue; + break; + case "ucom1": + continue; + break; + case "ucom2": + continue; + break; + default: + $input_errors[] = "The chosen com port is not valid"; + break; + } + } + } + + function sync_package_lcdproc() { + global $config; + global $input_errors; + + config_lock(); + + $lcdproc_config = $config['installedpackages']['lcdproc']['config'][0]; + $config_file = '/var/etc/lcdd.conf'; + + + /* since config is written before this file invoked we don't need to read post data */ + if($lcdproc_config['enable'] && ($lcdproc_config['comport'] != "none")) { + $config_text = "[server]\n"; + $config_text .= "Driver={$lcdproc_config[driver]}\n"; + + /* if lcdproc not running start it */ + if(!lcdproc_running()) { + lcdproc_notice("Starting service lcdproc"); + lcdproc_action('start'); + } + /* or restart lcdproc if settings were changed */ + elseif($_POST['comport']) { + lcdproc_notice("Restarting service lcdproc"); + lcdproc_action('restart'); + } + } + + if((! $lcdproc_config['comport']) || ($lcdproc_config['comport'] == "none")) { + /* no parameters user does not want lcdproc running */ + /* lets stop the service and remove the rc file */ + + if(file_exists($config_file)) { + if(!$lcdproc_config['enable']) { + lcdproc_notice('Stopping service: lcdproc disabled'); + } else { + lcdproc_notice('Stopping service: no com port selected'); + } + lcdproc_action('stop'); + unlink($config_file); + } + } + config_unlock(); + } +?> diff --git a/packages/lcdproc/lcdproc.xml b/packages/lcdproc/lcdproc.xml new file mode 100644 index 00000000..68affd47 --- /dev/null +++ b/packages/lcdproc/lcdproc.xml @@ -0,0 +1,78 @@ + + + Services: LCDproc + + 0.5.2_1-p1 + Save + /usr/local/pkg/lcdproc.inc + + LCDproc + Set LCDproc settings such as display driver and com port +
Services
+ /pkg_edit.php?xml=lcdproc.xml&id=0 +
+ + http://www.pfsense.org/packages/config/lcdproc/lcdproc.inc + /usr/local/pkg/ + 0755 + + + lcdproc + lcdproc.sh + lcdproc + + + + LCDproc Settings + /pkg_edit.php?xml=lcdproc.xml&id=0 + + + + + + Enable LCDproc + enable + checkbox + + + comport + Com Port + Set the com port LCDproc should use. + select + + + + + + + + + + + + + 0 + + + + before_form_lcdproc(&$pkg); + + + validate_form_lcdproc($_POST, &$input_errors); + + + sync_package_lcdproc(); + +
-- cgit v1.2.3