From fc674affec886e5fc2bb35e63ae915d86db0be05 Mon Sep 17 00:00:00 2001 From: "Danilo G. Baio (dbaio)" Date: Tue, 7 Apr 2015 14:42:41 -0300 Subject: apcupsd - change function apccontrol_scripts_install() --- config/apcupsd/apcupsd.inc | 70 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 68 insertions(+), 2 deletions(-) (limited to 'config/apcupsd') diff --git a/config/apcupsd/apcupsd.inc b/config/apcupsd/apcupsd.inc index 9ebb263b..c46f9cc4 100644 --- a/config/apcupsd/apcupsd.inc +++ b/config/apcupsd/apcupsd.inc @@ -115,6 +115,28 @@ function validate_input_apcupsd($post,&$input_errors){ } } + if ($post['emailnotification'] == 'smtpbuiltin') { + + if (empty($post['smtphost'])) { + $input_errors[]='SMTP Host cannot be empty if SMTP builtin is enabled.'; + } + + if (empty($post['smtpport'])) { + $input_errors[]='SMTP Port cannot be empty if SMTP builtin is enabled.'; + }elseif(!is_numericint($post['smtpport'])){ + $input_errors[]='SMTP Port is not numeric.'; + } + + if (empty($post['smtpfrom'])) { + $input_errors[]='From field cannot be empty if SMTP builtin is enabled.'; + } + + if (empty($post['smtpto'])) { + $input_errors[]='To field cannot be empty if SMTP builtin is enabled..'; + } + + } + } // apcupsdenabled } @@ -154,6 +176,7 @@ function sync_package_apcupsd(){ $upsclass=$apcupsd_config['upsclass']; $upsmode=$apcupsd_config['upsmode']; $lockfile=($apcupsd_config['lockfile'] != ''? $apcupsd_config['lockfile'] : "/var/tmp"); + $emailnotification=$apcupsd_config['emailnotification']; include("/usr/local/pkg/apcupsd.conf.php"); file_put_contents(APCUPSD_BASE . "/etc/apcupsd/apcupsd.conf", $apcupsdconf, LOCK_EX); @@ -193,10 +216,12 @@ function sync_package_apcupsd(){ } } + apccontrol_scripts_install($emailnotification); conf_mount_ro(); } -function apccontrol_scripts_install(){ +function apccontrol_scripts_install($emailnotification){ + global $config, $g; // check pfsense version $pfs_version = substr(trim(file_get_contents("/etc/version")),0,3); @@ -207,10 +232,50 @@ function apccontrol_scripts_install(){ define('APCUPSD_BASE', '/usr/local'); } + $apcstatus[commfailure] = "\$HOSTNAME - Communications with UPS \$1 lost"; + $apcstatus[commok] = "\$HOSTNAME - Communications with UPS \$1 restored"; + $apcstatus[onbattery] = "\$HOSTNAME - Power failure. Running on UPS \$1 batteries"; + $apcstatus[offbattery] = "\$HOSTNAME - UPS \$1 Power has returned..."; + $apcstatus[changeme] = "\$HOSTNAME - Emergency! UPS batteries have failed. Change them NOW"; + $apccontrol_scripts = array("offbattery","onbattery","commfailure","commok","changeme"); foreach($apccontrol_scripts as $apccontrol_script) { - $apccontrol_script_file=<< /dev/null @@ -218,6 +283,7 @@ function apccontrol_scripts_install(){ exit 0 EOF; + } file_put_contents(APCUPSD_BASE . "/etc/apcupsd/" . $apccontrol_script, $apccontrol_script_file, LOCK_EX); } -- cgit v1.2.3