diff --git a/plugins/dynamix.my.servers/include/myservers1.php b/plugins/dynamix.my.servers/include/myservers1.php
index 5b1cdcb85..e9af39331 100644
--- a/plugins/dynamix.my.servers/include/myservers1.php
+++ b/plugins/dynamix.my.servers/include/myservers1.php
@@ -36,7 +36,7 @@ $ALLOWED_UPC_ENV_VALS = [
'development',
'local',
];
-$UPC_ENV_CK = in_array($_COOKIE['UPC_ENV'], $ALLOWED_UPC_ENV_VALS)
+$UPC_ENV_CK = in_array($_COOKIE['UPC_ENV']??'', $ALLOWED_UPC_ENV_VALS)
? $_COOKIE['UPC_ENV']
: null;
// Determine what source we should use for web components
diff --git a/plugins/dynamix/DeviceInfo.page b/plugins/dynamix/DeviceInfo.page
index ae8974d10..51de66335 100644
--- a/plugins/dynamix/DeviceInfo.page
+++ b/plugins/dynamix/DeviceInfo.page
@@ -857,42 +857,42 @@ _(Critical disk temperature threshold)_ (°=$display['unit']?>):
_(SMART notification value)_:
:
:info_smart_notifications_help:
_(SMART notification tolerance level)_:
:
:info_tolerance_level_help:
_(SMART controller type)_:
:
@@ -906,7 +906,7 @@ _(SMART attribute notifications)_:
-: >_(Attribute)_ = =$preselect[$x]['code']?>=$preselect[$x]['text']?>
+: >_(Attribute)_ = =$preselect[$x]['code']?>=$preselect[$x]['text']?>
:info_attribute_notifications_help:
diff --git a/plugins/dynamix/DiskSettings.page b/plugins/dynamix/DiskSettings.page
index 9ec4b0846..b4d735735 100644
--- a/plugins/dynamix/DiskSettings.page
+++ b/plugins/dynamix/DiskSettings.page
@@ -198,39 +198,39 @@ _(Default critical disk temperature threshold)_ (°=$display['unit']?>):
_(Default SMART notification value)_:
:
:disk_default_smart_notification_help:
_(Default SMART notification tolerance level)_:
:
:disk_default_smart_tolerance_help:
_(Default SMART controller type)_:
:
:disk_default_smart_controller_help:
@@ -240,7 +240,7 @@ _(Default SMART attribute notifications)_:
-: >_(Attribute)_ = =$preselect[$x]['code']?>=$preselect[$x]['text']?>
+: >_(Attribute)_ = =$preselect[$x]['code']?>=$preselect[$x]['text']?>
:disk_default_smart_attribute_help:
diff --git a/plugins/dynamix/Eth0.page b/plugins/dynamix/Eth0.page
index 2b6e3d83e..22b222499 100644
--- a/plugins/dynamix/Eth0.page
+++ b/plugins/dynamix/Eth0.page
@@ -462,8 +462,8 @@ _(MAC address)_:
_(Enable bonding)_:
:
:eth_enable_bonding_help:
@@ -471,13 +471,13 @@ _(Enable bonding)_:
_(Bonding mode)_:
:
**_(Attention)_:** _(this mode requires a network switch with proper setup and support)_...
@@ -485,9 +485,9 @@ _(Bonding mode)_:
_(Bonding members of)_ bond0:
:
@@ -496,8 +496,8 @@ _(Bonding members of)_ bond0:
_(Enable bridging)_:
:
:eth_enable_bridging_help:
@@ -505,9 +505,9 @@ _(Enable bridging)_:
_(Bridging members of)_ br0:
:
@@ -516,9 +516,9 @@ _(Bridging members of)_ br0:
_(Network protocol)_:
:
:eth_network_protocol_help:
@@ -526,8 +526,8 @@ _(Network protocol)_:
_(IPv4 address assignment)_:
:
:eth_ipv4_address_assignment_help:
@@ -535,22 +535,22 @@ _(IPv4 address assignment)_:
_(IPv4 address)_:
: " class="narrow" pattern="=$validIP4?>" title="_(IPv4 address A.B.C.D)_">/
:eth_ipv4_address_help:
@@ -564,8 +564,8 @@ _(IPv4 default gateway)_:
_(IPv4 DNS server assignment)_:
:
:eth_ipv4_dns_server_assignment_help:
@@ -593,8 +593,8 @@ _(IPv4 DNS server)_ 3:
_(IPv6 address assignment)_:
:
:eth_ipv6_address_assignment_help:
@@ -613,8 +613,8 @@ _(IPv6 default gateway)_:
_(IPv6 privacy extensions)_:
:
:eth_ipv6_privacy_extensions_help:
@@ -623,8 +623,8 @@ _(IPv6 privacy extensions)_:
_(IPv6 DNS server assignment)_:
:
:eth_ipv6_dns_server_assignment_help:
@@ -657,8 +657,8 @@ _(Desired MTU)_:
_(Enable VLANs)_:
:
:eth_enable_vlans_help:
@@ -682,9 +682,9 @@ _(VLAN number)_:
_(Network protocol)_:
:
:eth_network_protocol_help:
@@ -692,10 +692,10 @@ _(Network protocol)_:
_(IPv4 address assignment)_:
:
@@ -704,22 +704,22 @@ _(IPv4 address assignment)_:
_(IPv4 address)_:
:
" class="narrow" pattern="=$validIP4?>" title="_(IPv4 address A.B.C.D)_">/
:eth_ipv4_address_help:
@@ -735,10 +735,10 @@ _(IPv4 default gateway)_:
_(IPv6 address assignment)_:
:
@@ -758,8 +758,8 @@ _(IPv6 default gateway)_:
_(IPv6 privacy extensions)_:
:
:eth_ipv6_privacy_extensions_help:
@@ -790,38 +790,38 @@ _(VLAN number)_:
_(Network protocol)_:
:
_(IPv4 address assignment)_:
:
_(IPv4 address)_:
:
" class="narrow" pattern="=$validIP4?>" title="=_(IPv4 address A.B.C.D)_">/
_(IPv4 default gateway)_:
@@ -833,9 +833,9 @@ _(IPv4 default gateway)_:
_(IPv6 address assignment)_:
:
@@ -848,8 +848,8 @@ _(IPv6 default gateway)_:
_(IPv6 privacy extensions)_:
:
diff --git a/plugins/dynamix/EthX.page b/plugins/dynamix/EthX.page
index 603ca3c9b..876a48083 100644
--- a/plugins/dynamix/EthX.page
+++ b/plugins/dynamix/EthX.page
@@ -114,8 +114,8 @@ _(MAC address)_:
_(Enable bonding)_:
:
:eth_enable_bonding_help:
@@ -123,13 +123,13 @@ _(Enable bonding)_:
_(Bonding mode)_:
:
**_(Attention)_:** _(this mode requires a network switch with proper setup and support)_...
@@ -137,9 +137,9 @@ _(Bonding mode)_:
_(Bonding members of)_ bondX:
:
@@ -148,8 +148,8 @@ _(Bonding members of)_ bondX:
_(Enable bridging)_:
:
:eth_enable_bridging_help:
@@ -157,9 +157,9 @@ _(Enable bridging)_:
_(Bridging members of)_ brX:
:
@@ -168,9 +168,9 @@ _(Bridging members of)_ brX:
_(Network protocol)_:
:
:eth_network_protocol_help:
@@ -178,9 +178,9 @@ _(Network protocol)_:
_(IPv4 address assignment)_:
:
:eth_ipv4_address_assignment_help:
@@ -188,22 +188,22 @@ _(IPv4 address assignment)_:
_(IPv4 address)_:
:
" class="narrow" pattern="=$validIP4?>" title="_(IPv4 address A.B.C.D)_">/
:eth_ipv4_address_help:
@@ -219,9 +219,9 @@ _(IPv4 default gateway)_:
_(IPv6 address assignment)_:
:
:eth_ipv6_address_assignment_help:
@@ -240,8 +240,8 @@ _(IPv6 default gateway)_:
_(IPv6 privacy extensions)_:
:
:eth_ipv6_privacy_extensions_help:
@@ -255,8 +255,8 @@ _(Desired MTU)_:
_(Enable VLANs)_:
:
:eth_enable_vlans_help:
@@ -281,9 +281,9 @@ _(VLAN number)_:
_(Network protocol)_:
:
:eth_network_protocol_help:
@@ -291,9 +291,9 @@ _(Network protocol)_:
_(IPv4 address assignment)_:
:
:eth_ipv4_address_assignment_help:
@@ -301,22 +301,22 @@ _(IPv4 address assignment)_:
_(IPv4 address)_:
:
" class="narrow" pattern="=$validIP4?>" title="_(IPv4 address A.B.C.D)_">/
:eth_ipv4_address_help:
@@ -332,9 +332,9 @@ _(IPv4 default gateway)_:
_(IPv6 address assignment)_:
:
:eth_ipv6_address_assignment_help:
@@ -353,8 +353,8 @@ _(IPv6 default gateway)_:
_(IPv6 privacy extensions)_:
:
:eth_ipv6_privacy_extensions_help:
@@ -386,38 +386,38 @@ _(VLAN number)_:
_(Network protocol)_:
:
_(IPv4 address assignment)_:
:
_(IPv4 address)_:
:
" class="narrow" pattern="=$validIP4?>" title="_(IPv4 address A.B.C.D)_">/
_(IPv4 default gateway)_:
@@ -429,9 +429,9 @@ _(IPv4 default gateway)_:
_(IPv6 address assignment)_:
:
@@ -444,8 +444,8 @@ _(IPv6 default gateway)_:
_(IPv6 privacy extensions)_:
:
diff --git a/plugins/dynamix/ShareSettings.page b/plugins/dynamix/ShareSettings.page
index 94500ea6e..7f9a497bc 100644
--- a/plugins/dynamix/ShareSettings.page
+++ b/plugins/dynamix/ShareSettings.page
@@ -83,7 +83,7 @@ _(Enable user shares)_:
_(Included disk(s))_:
:
@@ -92,7 +92,7 @@ _(Included disk(s))_:
_(Excluded disk(s))_:
:
diff --git a/plugins/dynamix/SmtpSettings.page b/plugins/dynamix/SmtpSettings.page
index b1941b827..49e1c850d 100644
--- a/plugins/dynamix/SmtpSettings.page
+++ b/plugins/dynamix/SmtpSettings.page
@@ -3,8 +3,8 @@ Title="SMTP Settings"
Tag="envelope"
---
_(Preset service)_:
:
:smtp_preset_service_help:
_(Sending email address)_:
-:
+:
:smtp_email_address_help:
_(Email recipients)_:
-:
+:
:smtp_recipients_help:
_(Priority in header)_:
:
:smtp_priority_help:
_(Email subject prefix)_:
-:
+:
:smtp_subject_prefix_help:
_(Mail server)_:
-:
+:
:smtp_mail_server_help:
_(Mail server port)_:
-:
+:
:smtp_mail_server_port_help:
_(Use SSL/TLS)_:
:
:smtp_use_ssl_tls_help:
_(Use STARTTLS)_:
:
:smtp_use_starttls_help:
_(Define a TLS certificate)_:
:
:smtp_define_tls_cert_help:
_(TLS certificate location)_:
-:
+:
:smtp_tls_cert_location_help:
_(Authentication method)_:
:
:smtp_authentication_method_help:
_(Username)_:
-:
+:
_(Password)_:
-:
+:
:smtp_username_password_help:
diff --git a/plugins/dynamix/SyslogSettings.page b/plugins/dynamix/SyslogSettings.page
index 3a88e810f..9e42b01f7 100644
--- a/plugins/dynamix/SyslogSettings.page
+++ b/plugins/dynamix/SyslogSettings.page
@@ -90,13 +90,13 @@ function validatePort(form) {
_(Local syslog server)_:
:
@@ -106,15 +106,15 @@ _(Local syslog server)_:
_(Local syslog folder)_:
:
:syslog_local_folder_help:
_(Local syslog rotation)_:
:
:syslog_local_rotation_help:
@@ -122,25 +122,25 @@ _(Local syslog rotation)_:
_(Local syslog maximum file size)_:
:
:syslog_local_file_size_help:
_(Local syslog number of files)_:
:
:syslog_local_file_number_help:
@@ -151,8 +151,8 @@ _(Local syslog number of files)_:
_(Remote syslog server)_:
:
@@ -160,8 +160,8 @@ _(Remote syslog server)_:
_(Mirror syslog to flash)_:
:
:syslog_mirror_flash_help:
diff --git a/plugins/dynamix/TrimSettings.page b/plugins/dynamix/TrimSettings.page
index b8a7b7cde..9a803d1fe 100644
--- a/plugins/dynamix/TrimSettings.page
+++ b/plugins/dynamix/TrimSettings.page
@@ -62,7 +62,7 @@ $(function() {
_(SSD TRIM schedule)_:
:
@@ -75,9 +75,9 @@ _(SSD TRIM schedule)_:
_(Day of the week)_:
:
:trim_day_of_the_week_plug:
@@ -87,9 +87,9 @@ _(Day of the week)_:
_(Day of the month)_:
:
:trim_day_of_the_month_plug:
@@ -99,21 +99,21 @@ _(Day of the month)_:
_(Time of the day)_:
:
_(HH:MM)_
:
:trim_time_of_the_day_plug:
diff --git a/plugins/dynamix/scripts/monitor b/plugins/dynamix/scripts/monitor
index b3a1f41d7..ee3174218 100755
--- a/plugins/dynamix/scripts/monitor
+++ b/plugins/dynamix/scripts/monitor
@@ -44,8 +44,8 @@ function check_temp(&$disk,$text,$info) {
global $notify,$saved,$server,$display,$top;
$name = $disk['name'];
$temp = $disk['temp'];
- $hot = $disk['hotTemp'] ?? $display['hot'];
- $max = $disk['maxTemp'] ?? $display['max'];
+ $hot = $disk['hotTemp'] ?? $display['hot'] ?? 0;
+ $max = $disk['maxTemp'] ?? $display['max'] ?? 0;
$warn = exceed($temp,$max,$top) ? 'alert' : (exceed($temp,$hot,$top) ? 'warning' : false);
$item = 'temp';
$last = $saved[$item][$name] ?? 0;
@@ -186,7 +186,7 @@ foreach ($disks as $disk) {
if ($disk['numErrors']>0) $errors[] = "$text - $info (errors {$disk['numErrors']})";
// check file system of cache pool
$item = 'pool';
- if (in_array($name,$pools) && strpos($disk['fsType'],'btrfs')!==false) {
+ if (in_array($name,$pools) && strpos($disk['fsType']??'','btrfs')!==false) {
$attr = 'missing';
if (exec("/sbin/btrfs filesystem show {$disk['uuid']} 2>/dev/null|grep -c 'missing'")>0) {
if (empty($saved[$item][$attr])) {