From e2bfae8d6218c6dbf12081003d2cc0b4e53caf7f Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 4 Mar 2024 15:13:04 +0100 Subject: [rebootcontrol] Fix the "bogus" array to string warning After all it wasn't bogus, but caused by array_unique internally casting everything to string by default, which causes a warning for arrays. Thankfully we have an elephant for figuring out things like this. --- modules-available/rebootcontrol/inc/rebootcontrol.inc.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/modules-available/rebootcontrol/inc/rebootcontrol.inc.php b/modules-available/rebootcontrol/inc/rebootcontrol.inc.php index ab308084..107c2a50 100644 --- a/modules-available/rebootcontrol/inc/rebootcontrol.inc.php +++ b/modules-available/rebootcontrol/inc/rebootcontrol.inc.php @@ -401,15 +401,17 @@ class RebootControl if (!empty($unknown)) { $ips = ArrayUtil::flattenByKey($unknown, 'clientip'); $errors .= "**** WARNING ****\nThe following clients do not belong to a known subnet (bug?)\n" . implode("\n", $ips) . "\n"; + foreach ($unknown as $val) { + $failed[$val['clientip']] = $val; + } } if (!empty($unreachable)) { $ips = ArrayUtil::flattenByKey($unreachable, 'clientip'); $errors .= "**** WARNING ****\nThe following clients are not reachable with any method\n" . implode("\n", $ips) . "\n"; + foreach ($unreachable as $val) { + $failed[$val['clientip']] = $val; + } } - // Work around bogus type warnings in PHP 7.0 by un-inlining the $failed assignment - $tmp1 = array_merge($unknown, $unreachable); - $tmp2 = array_unique($tmp1); - $failed = $tmp2; $task = Taskmanager::submit('WakeOnLan', [ 'clients' => $taskClients, 'ssh' => $taskSsh, -- cgit v1.2.3-55-g7522