diff options
-rw-r--r-- | config/apcupsd/apcupsd.inc | 33 | ||||
-rw-r--r-- | config/apcupsd/apcupsd.xml | 7 |
2 files changed, 38 insertions, 2 deletions
diff --git a/config/apcupsd/apcupsd.inc b/config/apcupsd/apcupsd.inc index 9abc23ba..08ddd17e 100644 --- a/config/apcupsd/apcupsd.inc +++ b/config/apcupsd/apcupsd.inc @@ -39,6 +39,7 @@ require_once("globals.inc"); function php_install_apcupsd(){ sync_package_apcupsd(); + apccontrol_scripts_install(); } function php_deinstall_apcupsd(){ @@ -185,7 +186,37 @@ function sync_package_apcupsd(){ unlink($apcupsd_rcfile); } } - + conf_mount_ro(); } + +function apccontrol_scripts_install(){ + + // check pfsense version + $pfs_version = substr(trim(file_get_contents("/etc/version")),0,3); + if ($pfs_version > 2.0){ + define('APCUPSD_BASE', '/usr/pbi/apcupsd-' . php_uname("m")); + } + else { + define('APCUPSD_BASE', '/usr/local'); + } + + $apccontrol_scripts = array("offbattery","onbattery","commfailure","commok","changeme"); + foreach($apccontrol_scripts as $apccontrol_script) { + + $apccontrol_script_file=<<<EOF +#!/bin/sh + +/usr/local/bin/php -f /usr/local/pkg/apcupsd_mail.php {$apccontrol_script} > /dev/null + +exit 0 + +EOF; + + file_put_contents(APCUPSD_BASE . "/etc/apcupsd/" . $apccontrol_script, $apccontrol_script_file, LOCK_EX); + } + +} + ?> + diff --git a/config/apcupsd/apcupsd.xml b/config/apcupsd/apcupsd.xml index 8674af61..ecd979f6 100644 --- a/config/apcupsd/apcupsd.xml +++ b/config/apcupsd/apcupsd.xml @@ -60,6 +60,11 @@ <prefix>/usr/local/pkg/</prefix> <chmod>0755</chmod> </additional_files_needed> + <additional_files_needed> + <item>http://www.pfsense.org/packages/config/apcupsd/apcupsd_mail.php</item> + <prefix>/usr/local/pkg/</prefix> + <chmod>0755</chmod> + </additional_files_needed> <menu> <name>Apcupsd</name> <tooltiptext>Setup Apcupsd specific settings</tooltiptext> @@ -322,7 +327,7 @@ UPSTYPE DEVICE Description <br> </options> </field> </fields> - <custom_php_install_command>sync_package_apcupsd();</custom_php_install_command> + <custom_php_install_command>php_install_apcupsd();</custom_php_install_command> <custom_php_command_before_form></custom_php_command_before_form> <custom_php_after_head_command></custom_php_after_head_command> <custom_php_after_form_command></custom_php_after_form_command> |