From 936165ee5d02751f15451be2b2e383b6b5bc39cb Mon Sep 17 00:00:00 2001 From: Torben Dannhauer Date: Fri, 22 May 2026 09:10:46 +0200 Subject: [PATCH 1/2] Refactor getInfo and isValid methods for NagAlarm --- lib/Form/Type/NagAlarm.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/Form/Type/NagAlarm.php b/lib/Form/Type/NagAlarm.php index 055f4421..21f04d99 100644 --- a/lib/Form/Type/NagAlarm.php +++ b/lib/Form/Type/NagAlarm.php @@ -12,9 +12,11 @@ class Nag_Form_Type_NagAlarm extends Horde_Form_Type public function getInfo($vars, $var, $info) { $info = $var->getValue($vars); - if (!$info['on']) { - // Dubious! This should probably be $info['on'] = 0 or $info = [] - $info = 0; + if (!is_array($info)) { + return $info ? (int) $info : 0; + } + if (empty($info['on'])) { + return 0; } else { $value = $info['value']; $unit = $info['unit']; @@ -28,7 +30,7 @@ public function getInfo($vars, $var, $info) public function isValid($var, $vars, $value, $message) { - if ($value['on']) { + if (is_array($value) && !empty($value['on'])) { if ($vars->get('due_type') == 'none') { $this->message = _("A due date must be set to enable alarms."); return false; From c6944ccda41b7abdb8940df954c9910674ef00da Mon Sep 17 00:00:00 2001 From: Torben Dannhauer Date: Fri, 22 May 2026 09:11:40 +0200 Subject: [PATCH 2/2] Enhance validation checks in NagMethod --- lib/Form/Type/NagMethod.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Form/Type/NagMethod.php b/lib/Form/Type/NagMethod.php index 353e4a4f..2aad39e9 100644 --- a/lib/Form/Type/NagMethod.php +++ b/lib/Form/Type/NagMethod.php @@ -12,7 +12,7 @@ class Nag_Form_Type_NagMethod extends Horde_Form_Type public function getInfo($vars, $var, $info) { $info = $var->getValue($vars); - if (empty($info['on'])) { + if (!is_array($info) || empty($info['on'])) { $info = []; return $info; } @@ -40,7 +40,8 @@ public function getInfo($vars, $var, $info) public function isValid($var, $vars, $value, $message) { $alarm = $vars->get('alarm'); - if ($value['on'] && !$alarm['on']) { + $alarmOn = is_array($alarm) ? !empty($alarm['on']) : !empty($alarm); + if (is_array($value) && !empty($value['on']) && !$alarmOn) { $this->message = _("An alarm must be set to specify a notification method"); return false; }