From fb254076110b1fd8d618beac4bedf1fe1301f1e6 Mon Sep 17 00:00:00 2001 From: steve-lad <72376554+steve-lad@users.noreply.github.com> Date: Thu, 29 Jul 2021 17:20:43 +0200 Subject: [PATCH] Improve presentation of shared lines --- sccpManTraits/ajaxHelper.php | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/sccpManTraits/ajaxHelper.php b/sccpManTraits/ajaxHelper.php index dcc5fe9..c235801 100644 --- a/sccpManTraits/ajaxHelper.php +++ b/sccpManTraits/ajaxHelper.php @@ -296,13 +296,30 @@ trait ajaxHelper { } $activeDevices = $this->aminterface->sccp_get_active_device(); foreach ($lineList as $key => $lineArr) { - if (array_key_exists($lineArr['mac'], $activeDevices)) { - $actDevStat = $activeDevices[$lineArr['mac']]; - $lineList[$key]['line_status'] = "{$actDevStat['status']} | {$actDevStat['act']}"; + if (!empty($outLineList[$lineList[$key]['name']])) { + $outLineList[$lineList[$key]['name']]['mac'] .= "
".$lineList[$key]['mac']; + if (array_key_exists($lineArr['mac'], $activeDevices)) { + $actDevStat = $activeDevices[$lineArr['mac']]; + $outLineList[$lineList[$key]['name']]['line_status'] .= "
" . "{$actDevStat['status']} | {$actDevStat['act']}"; + } else { + $outLineList[$lineList[$key]['name']]['line_status'] .= "
" . '|'; + } } else { - $lineList[$key]['line_status'] = '|'; + $outLineList[$lineList[$key]['name']] = $lineList[$key]; + if (array_key_exists($lineArr['mac'], $activeDevices)) { + $actDevStat = $activeDevices[$lineArr['mac']]; + $outLineList[$lineList[$key]['name']]['line_status'] = "{$actDevStat['status']} | {$actDevStat['act']}"; + } else { + // create a new output list + $outLineList[$lineList[$key]['name']] = $lineList[$key]; + $outLineList[$lineList[$key]['name']]['line_status'] = '|'; + } } } + unset($lineList); + foreach ($outLineList as $valueArray) { + $lineList[] = $valueArray; + } return $lineList; break; case 'getPhoneGrid':