mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
Prep work for flat tree backup
This commit is contained in:
@@ -192,9 +192,10 @@
|
|||||||
var parTableOrder = 'Front_Devices_Order';
|
var parTableOrder = 'Front_Devices_Order';
|
||||||
var tableRows = 10;
|
var tableRows = 10;
|
||||||
var tableOrder = [[3,'desc'], [0,'asc']];
|
var tableOrder = [[3,'desc'], [0,'asc']];
|
||||||
var tableColumnVisible = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14];
|
|
||||||
var columnsStr = '[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]';
|
var columnsStr = '[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]';
|
||||||
var tableColumnOrder = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14] ;
|
var tableColumnOrder = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] ;
|
||||||
|
var tableColumnVisible = tableColumnOrder;
|
||||||
|
|
||||||
// Read parameters & Initialize components
|
// Read parameters & Initialize components
|
||||||
main();
|
main();
|
||||||
@@ -228,7 +229,8 @@ function main () {
|
|||||||
'<?php echo lang('Device_TableHead_MAC_full');?>',
|
'<?php echo lang('Device_TableHead_MAC_full');?>',
|
||||||
'<?php echo lang('Device_TableHead_LastIPOrder');?>',
|
'<?php echo lang('Device_TableHead_LastIPOrder');?>',
|
||||||
'<?php echo lang('Device_TableHead_Rowid');?>',
|
'<?php echo lang('Device_TableHead_Rowid');?>',
|
||||||
'<?php echo lang('Device_TableHead_Parent_MAC');?>'
|
'<?php echo lang('Device_TableHead_Parent_MAC');?>',
|
||||||
|
'<?php echo lang('Device_TableHead_Connected_Devices');?>'
|
||||||
];
|
];
|
||||||
|
|
||||||
html = '';
|
html = '';
|
||||||
|
|||||||
@@ -270,6 +270,7 @@ if (isset($_POST['submit']) && submit && isset($_POST['skinselector_set'])) {
|
|||||||
<option value="12"><?php echo lang('Device_TableHead_LastIPOrder');?></option>
|
<option value="12"><?php echo lang('Device_TableHead_LastIPOrder');?></option>
|
||||||
<option value="13"><?php echo lang('Device_TableHead_Rowid');?></option>
|
<option value="13"><?php echo lang('Device_TableHead_Rowid');?></option>
|
||||||
<option value="14"><?php echo lang('Device_TableHead_Parent_MAC');?></option>
|
<option value="14"><?php echo lang('Device_TableHead_Parent_MAC');?></option>
|
||||||
|
<option value="15"><?php echo lang('Device_TableHead_Connected_Devices');?></option>
|
||||||
</select>
|
</select>
|
||||||
<span class="input-group-addon"><i title="<?php echo lang('DevDetail_GoToNetworkNode');?>" class="fa fa-save pointer" onclick="saveSelectedColumns();"></i></span>
|
<span class="input-group-addon"><i title="<?php echo lang('DevDetail_GoToNetworkNode');?>" class="fa fa-save pointer" onclick="saveSelectedColumns();"></i></span>
|
||||||
</div>
|
</div>
|
||||||
@@ -760,6 +761,9 @@ function scrollDown()
|
|||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
// Manage displayed columns
|
// Manage displayed columns
|
||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
|
colDefaultOrder = ['0','1','2','3','4','5','6','7','8','9','10','12','13','14','15'];
|
||||||
|
colDefaultOrderTxt = '[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15]';
|
||||||
|
|
||||||
|
|
||||||
function saveSelectedColumns () {
|
function saveSelectedColumns () {
|
||||||
$.get('php/server/parameters.php?action=set&expireMinutes=525600&value=['+ $('#columnsSelect').val().toString() +']¶meter=Front_Devices_Columns_Visible', function(data) {
|
$.get('php/server/parameters.php?action=set&expireMinutes=525600&value=['+ $('#columnsSelect').val().toString() +']¶meter=Front_Devices_Columns_Visible', function(data) {
|
||||||
@@ -767,7 +771,7 @@ function saveSelectedColumns () {
|
|||||||
|
|
||||||
colDisplayed = $('#columnsSelect').val();
|
colDisplayed = $('#columnsSelect').val();
|
||||||
|
|
||||||
colDefaultOrder = ['0','1','2','3','4','5','6','7','8','9','10','12','13','14'];
|
|
||||||
|
|
||||||
colNewOrder = colDisplayed;
|
colNewOrder = colDisplayed;
|
||||||
|
|
||||||
@@ -791,7 +795,7 @@ function saveSelectedColumns () {
|
|||||||
|
|
||||||
// --------------------------------------------------------
|
// --------------------------------------------------------
|
||||||
function initializeSelectedColumns () {
|
function initializeSelectedColumns () {
|
||||||
$.get('php/server/parameters.php?action=get&expireMinutes=525600&defaultValue=[0,1,2,3,4,5,6,7,8,9,10,12,13,14]¶meter=Front_Devices_Columns_Visible', function(data) {
|
$.get('php/server/parameters.php?action=get&expireMinutes=525600&defaultValue='+colDefaultOrderTxt+'¶meter=Front_Devices_Columns_Visible', function(data) {
|
||||||
|
|
||||||
tableColumnShow = numberArrayFromString(data);
|
tableColumnShow = numberArrayFromString(data);
|
||||||
|
|
||||||
|
|||||||
@@ -466,7 +466,8 @@
|
|||||||
"mac":item[11],
|
"mac":item[11],
|
||||||
"parentMac":item[14],
|
"parentMac":item[14],
|
||||||
"rowid":item[13],
|
"rowid":item[13],
|
||||||
"status":item[10]
|
"status":item[10],
|
||||||
|
"childrenQty":item[15]
|
||||||
}})
|
}})
|
||||||
|
|
||||||
setCache('devicesListNew', JSON.stringify(devicesListnew))
|
setCache('devicesListNew', JSON.stringify(devicesListnew))
|
||||||
@@ -502,20 +503,37 @@
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
var leafNodesCount = 0;
|
var leafNodesCount = 0;
|
||||||
var treeLoadedAlready = false;
|
var treeLoadedAlready = false;
|
||||||
var hiddenMacs = [];
|
var hiddenMacs = []; // hidden children
|
||||||
|
var hiddenChildren = [];
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
function formatFlatDevicesList()
|
function formatFlatDevicesList()
|
||||||
{
|
{
|
||||||
devList = getDevicesList()
|
devList = getDevicesList()
|
||||||
|
|
||||||
|
devListNoOrphans = []
|
||||||
|
|
||||||
|
for(i=0;i<devList.length;i++)
|
||||||
|
{
|
||||||
|
node = devList[i]
|
||||||
|
|
||||||
|
if(node.mac != 'Internet' && node.parentMac != "")
|
||||||
|
{
|
||||||
|
devListNoOrphans.push(node)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
list = devListNoOrphans;
|
||||||
|
|
||||||
result = []
|
result = []
|
||||||
|
|
||||||
for(i=0;i<devList.length;i++)
|
for(i=0;i<devList.length;i++)
|
||||||
{
|
{
|
||||||
node = devList[i]
|
node = devList[i]
|
||||||
|
|
||||||
if(!hiddenMacs.includes(node.parentMac))
|
// if(!hiddenMacs.includes(node.parentMac))
|
||||||
|
if(!hiddenMacs.includes(node.mac))
|
||||||
{
|
{
|
||||||
result.push(
|
result.push(
|
||||||
{
|
{
|
||||||
@@ -529,7 +547,7 @@
|
|||||||
status: node.status,
|
status: node.status,
|
||||||
hasChildren: true,
|
hasChildren: true,
|
||||||
hiddenChildren: true,
|
hiddenChildren: true,
|
||||||
qty: 5,
|
qty: node.childrenQty
|
||||||
// children: children
|
// children: children
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -649,7 +667,8 @@
|
|||||||
{
|
{
|
||||||
// toggle subtree functionality
|
// toggle subtree functionality
|
||||||
$("div[data-mytreemac]").each(function(){
|
$("div[data-mytreemac]").each(function(){
|
||||||
$(this).attr('onclick', 'toggleSubTree("'+$(this).attr('data-mytreemac')+'","'+ $(this).attr('data-mytreepath')+'")')
|
// $(this).attr('onclick', 'toggleSubTree("'+$(this).attr('data-mytreemac')+'","'+ $(this).attr('data-mytreepath')+'")')
|
||||||
|
$(this).attr('onclick', 'toggleFlatSubTree("'+$(this).attr('data-mytreemac')+'")') //hasFlatData
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -715,15 +734,15 @@
|
|||||||
hasPan: false,
|
hasPan: false,
|
||||||
// marginLeft: '15',
|
// marginLeft: '15',
|
||||||
idKey: "id",
|
idKey: "id",
|
||||||
hasFlatData: false,
|
// hasFlatData: false,
|
||||||
// hasFlatData: true,
|
hasFlatData: true,
|
||||||
linkWidth: (nodeData) => 3,
|
linkWidth: (nodeData) => 3,
|
||||||
relationnalField: "children",
|
// relationnalField: "children",
|
||||||
// relationnalField: "parentMac",
|
relationnalField: "parentMac",
|
||||||
});
|
});
|
||||||
|
|
||||||
myTree.refresh(myHierarchy);
|
// myTree.refresh(myHierarchy);
|
||||||
// myTree.refresh(formatFlatDevicesList()); //hasFlatData
|
myTree.refresh(formatFlatDevicesList()); //hasFlatData
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -563,6 +563,72 @@ function getDevicesTotals() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Query the List of devices in a determined Status
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// function getDevicesListForNetworkTree() {
|
||||||
|
// global $db;
|
||||||
|
|
||||||
|
// $sql = 'SELECT *, CASE
|
||||||
|
// WHEN t1.dev_AlertDeviceDown=1 AND t1.dev_PresentLastScan=0 THEN "Down"
|
||||||
|
// WHEN t1.dev_NewDevice=1 THEN "New"
|
||||||
|
// WHEN t1.dev_PresentLastScan=1 THEN "On-line"
|
||||||
|
// ELSE "Off-line" END AS dev_Status
|
||||||
|
// FROM (Devices ) t1
|
||||||
|
// LEFT JOIN
|
||||||
|
// (
|
||||||
|
// SELECT *,
|
||||||
|
// count() as connected_devices
|
||||||
|
// FROM Devices b
|
||||||
|
// WHERE b.dev_Network_Node_MAC_ADDR NOT NULL group by b.dev_Network_Node_MAC_ADDR
|
||||||
|
// ) t2
|
||||||
|
// ON (t1.dev_MAC = t2.dev_MAC); ';
|
||||||
|
|
||||||
|
// $result = $db->query($sql);
|
||||||
|
|
||||||
|
// // arrays of rows
|
||||||
|
// $tableData = array();
|
||||||
|
// while ($row = $result -> fetchArray (SQLITE3_ASSOC)) {
|
||||||
|
|
||||||
|
// $defaultOrder = array ($row['dev_Name'],
|
||||||
|
// $row['dev_Owner'],
|
||||||
|
// handleNull($row['dev_DeviceType']),
|
||||||
|
// handleNull($row['dev_Icon'], "laptop"),
|
||||||
|
// $row['dev_Favorite'],
|
||||||
|
// $row['dev_Group'],
|
||||||
|
// formatDate ($row['dev_FirstConnection']),
|
||||||
|
// formatDate ($row['dev_LastConnection']),
|
||||||
|
// $row['dev_LastIP'],
|
||||||
|
// ( in_array($row['dev_MAC'][1], array("2","6","A","E","a","e")) ? 1 : 0),
|
||||||
|
// $row['dev_Status'],
|
||||||
|
// $row['dev_MAC'], // MAC (hidden)
|
||||||
|
// formatIPlong ($row['dev_LastIP']), // IP orderable
|
||||||
|
// $row['rowid'], // Rowid (hidden)
|
||||||
|
// handleNull($row['dev_Network_Node_MAC_ADDR']), //
|
||||||
|
// handleNull($row['connected_devices']) //
|
||||||
|
// );
|
||||||
|
|
||||||
|
// $newOrder = array();
|
||||||
|
|
||||||
|
// // reorder columns based on user settings
|
||||||
|
// for($index = 0; $index < count($columnOrderMapping); $index++)
|
||||||
|
// {
|
||||||
|
// array_push($newOrder, $defaultOrder[$columnOrderMapping[$index][2]]);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// $tableData['data'][] = $newOrder;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Control no rows
|
||||||
|
// if (empty($tableData['data'])) {
|
||||||
|
// $tableData['data'] = '';
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // Return json
|
||||||
|
// echo (json_encode ($tableData));
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// Query the List of devices in a determined Status
|
// Query the List of devices in a determined Status
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
@@ -592,7 +658,8 @@ function getDevicesList() {
|
|||||||
array("dev_MAC_full", 11, 11),
|
array("dev_MAC_full", 11, 11),
|
||||||
array("dev_LastIP_orderable", 12, 12),
|
array("dev_LastIP_orderable", 12, 12),
|
||||||
array("rowid", 13, 13),
|
array("rowid", 13, 13),
|
||||||
array("dev_Network_Node_MAC_ADDR", 14, 14)
|
array("dev_Network_Node_MAC_ADDR", 14, 14),
|
||||||
|
array("connected_devices", 15, 15)
|
||||||
);
|
);
|
||||||
|
|
||||||
if($forceDefaultOrder == FALSE)
|
if($forceDefaultOrder == FALSE)
|
||||||
@@ -617,13 +684,39 @@ function getDevicesList() {
|
|||||||
// SQL
|
// SQL
|
||||||
$condition = getDeviceCondition ($_REQUEST['status']);
|
$condition = getDeviceCondition ($_REQUEST['status']);
|
||||||
|
|
||||||
$sql = 'SELECT rowid, *, CASE
|
$sql = 'SELECT * FROM (
|
||||||
WHEN dev_AlertDeviceDown=1 AND dev_PresentLastScan=0 THEN "Down"
|
SELECT rowid, *, CASE
|
||||||
WHEN dev_NewDevice=1 THEN "New"
|
WHEN t1.dev_AlertDeviceDown=1 AND t1.dev_PresentLastScan=0 THEN "Down"
|
||||||
WHEN dev_PresentLastScan=1 THEN "On-line"
|
WHEN t1.dev_NewDevice=1 THEN "New"
|
||||||
ELSE "Off-line"
|
WHEN t1.dev_PresentLastScan=1 THEN "On-line"
|
||||||
END AS dev_Status
|
ELSE "Off-line" END AS dev_Status
|
||||||
FROM Devices '. $condition;
|
FROM Devices t1 '.$condition.') t3
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
SELECT dev_Network_Node_MAC_ADDR as dev_Network_Node_MAC_ADDR_t2, dev_MAC as dev_MAC_t2,
|
||||||
|
count() as connected_devices
|
||||||
|
FROM Devices b
|
||||||
|
WHERE b.dev_Network_Node_MAC_ADDR NOT NULL group by b.dev_Network_Node_MAC_ADDR
|
||||||
|
) t2
|
||||||
|
ON (t3.dev_MAC = t2.dev_MAC_t2);';
|
||||||
|
|
||||||
|
|
||||||
|
// $sql = 'SELECT * FROM (
|
||||||
|
// SELECT rowid, *, CASE
|
||||||
|
// WHEN t1.dev_AlertDeviceDown=1 AND t1.dev_PresentLastScan=0 THEN "Down"
|
||||||
|
// WHEN t1.dev_NewDevice=1 THEN "New"
|
||||||
|
// WHEN t1.dev_PresentLastScan=1 THEN "On-line"
|
||||||
|
// ELSE "Off-line" END AS dev_Status
|
||||||
|
// FROM Devices t1 '.$condition.') t3
|
||||||
|
// LEFT JOIN
|
||||||
|
// (
|
||||||
|
// SELECT dev_Network_Node_MAC_ADDR, dev_MAC,
|
||||||
|
// count() as connected_devices
|
||||||
|
// FROM Devices b
|
||||||
|
// WHERE b.dev_Network_Node_MAC_ADDR NOT NULL group by b.dev_Network_Node_MAC_ADDR
|
||||||
|
// ) t2
|
||||||
|
// ON (t3.dev_MAC = t2.dev_MAC);';
|
||||||
|
|
||||||
$result = $db->query($sql);
|
$result = $db->query($sql);
|
||||||
|
|
||||||
// arrays of rows
|
// arrays of rows
|
||||||
@@ -644,7 +737,8 @@ function getDevicesList() {
|
|||||||
$row['dev_MAC'], // MAC (hidden)
|
$row['dev_MAC'], // MAC (hidden)
|
||||||
formatIPlong ($row['dev_LastIP']), // IP orderable
|
formatIPlong ($row['dev_LastIP']), // IP orderable
|
||||||
$row['rowid'], // Rowid (hidden)
|
$row['rowid'], // Rowid (hidden)
|
||||||
handleNull($row['dev_Network_Node_MAC_ADDR']) //
|
handleNull($row['dev_Network_Node_MAC_ADDR']),
|
||||||
|
handleNull($row['connected_devices']) //
|
||||||
);
|
);
|
||||||
|
|
||||||
$newOrder = array();
|
$newOrder = array();
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ $lang['en_us'] = array(
|
|||||||
'Device_TableHead_RowID' => 'Row ID',
|
'Device_TableHead_RowID' => 'Row ID',
|
||||||
'Device_TableHead_Rowid' => 'Row ID',
|
'Device_TableHead_Rowid' => 'Row ID',
|
||||||
'Device_TableHead_Parent_MAC' => 'Parent node MAC',
|
'Device_TableHead_Parent_MAC' => 'Parent node MAC',
|
||||||
|
'Device_TableHead_Connected_Devices' => 'Connected Devices',
|
||||||
'Device_TableHead_Favorite' => 'Favorite',
|
'Device_TableHead_Favorite' => 'Favorite',
|
||||||
'Device_TableHead_Group' => 'Group',
|
'Device_TableHead_Group' => 'Group',
|
||||||
'Device_TableHead_FirstSession' => 'First Session',
|
'Device_TableHead_FirstSession' => 'First Session',
|
||||||
|
|||||||
Reference in New Issue
Block a user