diff --git a/front/css/pialert.css b/front/css/pialert.css
index 49e3ac54..209c1ec9 100755
--- a/front/css/pialert.css
+++ b/front/css/pialert.css
@@ -761,21 +761,26 @@ height: 50px;
margin-bottom: 6px;
}
-
+/* AdminLTE overrides */
#networkTree .box
{
- padding:2px;
- margin:2px;
+ border-top:1px;
+ border-top-color:grey;
+ padding:0px;
+ margin:0px;
+ align-items:center;
+ border-radius:20px;
+ width:180px;
+ display:flex;
+ flex-direction:column;
+ justify-content:center;
}
#networkTree .netNodeText
-{
- top: 2px;
- margin: 2px;
+{
position: absolute;
}
#networkTree .netPort
{
- width: 10px;;
float:left;
display:inline;
}
@@ -784,8 +789,7 @@ height: 50px;
margin-left: 16px;
/* border: solid;
border-color:#606060; */
- position: relative;
- font-size: 0.75em;
+ position: relative;
}
#networkTree .netIcon
{
diff --git a/front/network.php b/front/network.php
index 61d31bf4..c6e58d47 100755
--- a/front/network.php
+++ b/front/network.php
@@ -609,7 +609,7 @@
// ---------------------------------------------------------------------------
var myTree;
- var treeAreaHeight = 600;
+ var treeAreaHeight = 800;
var emSize;
var nodeHeight;
@@ -617,9 +617,10 @@
{
// calculate the font size of the leaf nodes to fit everything into the tree area
leafNodesCount == 0 ? 1 : leafNodesCount;
- emSize = ((600/(20*leafNodesCount)).toFixed(2));
+ emSize = ((treeAreaHeight/(25*leafNodesCount)).toFixed(2));
emSize = emSize > 1 ? 1 : emSize;
+ // nodeHeight = ((emSize*100*0.30).toFixed(0))
nodeHeight = ((emSize*100*0.30).toFixed(0))
$("#networkTree").attr('style', `height:${treeAreaHeight}px; width:${$('.content-header').width()}px`)
@@ -632,7 +633,7 @@
// Build HTML for individual nodes in the network diagram
deviceIcon = (!emptyArr.includes(nodeData.data.icon )) ? "
" : "";
- devicePort = (!emptyArr.includes(nodeData.data.port )) ? ""+nodeData.data.port +"
" : "";
+ devicePort = (!emptyArr.includes(nodeData.data.port )) ? ""+nodeData.data.port +"
" : "";
collapseExpandIcon = nodeData.data.hiddenChildren ? "square-plus" :"square-minus";
collapseExpandHtml = (nodeData.data.hasChildren) ? "
" : "";
statusCss = " netStatus-" + nodeData.data.status;
@@ -643,13 +644,7 @@
return result = "\
\
" + devicePort + deviceIcon +
@@ -660,7 +655,7 @@
},
onNodeClick: nodeData => {
- // console.log(this)
+ console.log(this)
},
mainAxisNodeSpacing: 'auto',
// mainAxisNodeSpacing: 3,
diff --git a/front/php/server/util.php b/front/php/server/util.php
index 28b3908f..9337901e 100755
--- a/front/php/server/util.php
+++ b/front/php/server/util.php
@@ -269,57 +269,53 @@ function saveSettings()
}
// go thru the groups and prepare settings to write to file
- foreach($groups as $group)
- {
- $txt = $txt."\n\n# ".$group;
- $txt = $txt."\n#---------------------------\n" ;
-
-
- foreach($decodedSettings as $setting)
- {
-
- if($group == $setting[0])
- {
+ foreach ($groups as $group) {
+ $txt .= "\n\n# " . $group;
+ $txt .= "\n#---------------------------\n";
+ foreach ($decodedSettings as $setting) {
+ $settingGroup = $setting[0];
+ $settingKey = $setting[1];
+ $settingType = $setting[2];
+ $settingValue = $setting[3];
- if($setting[2] == 'text' or $setting[2] == 'password' or $setting[2] == 'readonly' or $setting[2] == 'text.select')
- {
- $val = encode_single_quotes($setting[3]);
- $txt = $txt.$setting[1]."='".$val."'\n" ;
- } elseif($setting[2] == 'integer' or $setting[2] == 'integer.select')
- {
- $txt = $txt.$setting[1]."=".$setting[3]."\n" ;
- } elseif($setting[2] == 'boolean' || $setting[2] == 'integer.checkbox')
- {
- $val = "False";
- if($setting[3] == 'true' || $setting[3] == '1' || $setting[3] == 1 || $setting[3] == 'True')
- {
- $val = "True";
- }
- $txt = $txt.$setting[1]."=".$val."\n" ;
- }elseif($setting[2] == 'text.multiselect' or $setting[2] == 'subnets' or $setting[2] == 'list')
- {
- $temp = '[';
-
- if (count($setting) > 3 && is_array( $setting[3]) == True){
- foreach($setting[3] as $val)
- {
- $temp = $temp."'". encode_single_quotes($val)."',";
+ if ($group == $settingGroup) {
+ if ($settingType == 'text' || $settingType == 'password' || $settingType == 'readonly' || $settingType == 'text.select') {
+ $val = encode_single_quotes($settingValue);
+ $txt .= $settingKey . "='" . $val . "'\n";
+ } elseif ($settingType == 'integer' || $settingType == 'integer.select') {
+ $txt .= $settingKey . "=" . $settingValue . "\n";
+ } elseif ($settingType == 'boolean' || $settingType == 'integer.checkbox') {
+
+ if ($settingValue === true || $settingValue === 1 || strtolower($settingValue) === 'true') {
+ $val = "True";
+ } else {
+ $val = "False";
+ }
+
+ $txt .= $settingKey . "=" . $val . "\n";
+ } elseif ($settingType == 'text.multiselect' || $settingType == 'subnets' || $settingType == 'list') {
+ $temp = '[';
+
+ if (count($setting) > 3 && is_array($settingValue) == true) {
+ foreach ($settingValue as $val) {
+ $temp .= "'" . encode_single_quotes($val) . "',";
+ }
+
+ $temp = substr_replace($temp, "", -1); // remove last comma ','
+ }
+
+ $temp .= ']'; // close brackets
+ $txt .= $settingKey . "=" . $temp . "\n";
+ } elseif ($settingType == 'json') {
+ $txt .= $settingKey . "=" . $settingValue . "\n";
}
-
- $temp = substr_replace($temp, "", -1); // remove last comma ','
- }
-
- $temp = $temp.']'; // close brackets
- $txt = $txt.$setting[1]."=".$temp."\n" ;
- } elseif($setting[2] == 'json')
- {
- $txt = $txt.$setting[1]."=".$setting[3]."\n" ;
- }
- }
+ }
}
}
+
+
$txt = $txt."\n\n";
$txt = $txt."#-------------------IMPORTANT INFO-------------------#\n";
$txt = $txt."# This file is ingested by a python script, so if #\n";