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/apcupsd.inc') 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 From eabceb73d27cc84ee0035b8016b83d099717c7a2 Mon Sep 17 00:00:00 2001 From: "Danilo G. Baio (dbaio)" Date: Thu, 9 Apr 2015 09:10:41 -0300 Subject: apcupsd - use function is_port() --- config/apcupsd/apcupsd.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'config/apcupsd/apcupsd.inc') diff --git a/config/apcupsd/apcupsd.inc b/config/apcupsd/apcupsd.inc index c46f9cc4..86e026a6 100644 --- a/config/apcupsd/apcupsd.inc +++ b/config/apcupsd/apcupsd.inc @@ -123,8 +123,8 @@ function validate_input_apcupsd($post,&$input_errors){ 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.'; + }elseif(!is_port($post['smtpport'])){ + $input_errors[]='SMTP Port is not a valid port.'; } if (empty($post['smtpfrom'])) { -- cgit v1.2.3 From cc9d2f862ca3a44a80a7a98691b31637f8b9b10c Mon Sep 17 00:00:00 2001 From: "Danilo G. Baio (dbaio)" Date: Thu, 9 Apr 2015 09:12:42 -0300 Subject: apcupsd - use quotes for array key names --- config/apcupsd/apcupsd.inc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'config/apcupsd/apcupsd.inc') diff --git a/config/apcupsd/apcupsd.inc b/config/apcupsd/apcupsd.inc index 86e026a6..7255ceb1 100644 --- a/config/apcupsd/apcupsd.inc +++ b/config/apcupsd/apcupsd.inc @@ -232,11 +232,11 @@ function apccontrol_scripts_install($emailnotification){ 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"; + $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) { -- cgit v1.2.3 From ceaa0cc548063cf8e5964667a3fefef474fab3bc Mon Sep 17 00:00:00 2001 From: "Danilo G. Baio (dbaio)" Date: Thu, 9 Apr 2015 09:19:46 -0300 Subject: apcupsd - replace system exec `hostname` for php function gethostname() --- config/apcupsd/apcupsd.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'config/apcupsd/apcupsd.inc') diff --git a/config/apcupsd/apcupsd.inc b/config/apcupsd/apcupsd.inc index 7255ceb1..0a99982d 100644 --- a/config/apcupsd/apcupsd.inc +++ b/config/apcupsd/apcupsd.inc @@ -259,10 +259,12 @@ function apccontrol_scripts_install($emailnotification){ } } + $pfSense_hostname = gethostname(); + $apccontrol_script_file=<<