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':