From e9c8be78ad84a0efa42c7e1a14345fbcc01b8c4b Mon Sep 17 00:00:00 2001 From: Jokob-sk Date: Sun, 30 Jul 2023 07:58:02 +1000 Subject: [PATCH] settings rewrite to JS + metadata work + #298 work --- front/css/pialert.css | 2 +- front/php/server/util.php | 63 +++++-------------------- front/php/server/utilDB.php | 0 front/php/templates/language/de_de.json | 0 front/php/templates/language/en_us.json | 0 front/php/templates/language/es_es.json | 0 front/settings.php | 11 ++--- pialert/initialise.py | 6 ++- 8 files changed, 20 insertions(+), 62 deletions(-) mode change 100644 => 100755 front/php/server/utilDB.php mode change 100644 => 100755 front/php/templates/language/de_de.json mode change 100644 => 100755 front/php/templates/language/en_us.json mode change 100644 => 100755 front/php/templates/language/es_es.json diff --git a/front/css/pialert.css b/front/css/pialert.css index 8b7ff99b..49e3ac54 100755 --- a/front/css/pialert.css +++ b/front/css/pialert.css @@ -775,7 +775,7 @@ height: 50px; } #networkTree .netPort { - width: 8px;; + width: 10px;; float:left; display:inline; } diff --git a/front/php/server/util.php b/front/php/server/util.php index ed5e17a9..28b3908f 100755 --- a/front/php/server/util.php +++ b/front/php/server/util.php @@ -259,68 +259,27 @@ function saveSettings() $txt = $txt."#-----------------AUTOGENERATED FILE-----------------#\n"; // collect all groups - foreach ($SETTINGS as $setting) { + + $decodedSettings = json_decode($SETTINGS, true); + + foreach ($decodedSettings as $setting) { if( in_array($setting[0] , $groups) == false) { array_push($groups ,$setting[0]); } } - - echo "--SETTINGS
"; - echo count($SETTINGS); - echo "--SETTINGS session
"; - echo count($_SESSION['pia_settingsArray']); //pia_settingsArray - echo "--SETTINGS session
"; - echo $_SESSION['pia_settingsArray']; //pia_settingsArray - - $index = 0; - foreach($SETTINGS as $setting) - { - if(count($setting) < 3) - { - echo "--PREV
"; - echo json_encode($SETTINGS[$index -1]); - echo "--
"; - echo json_encode($setting); - echo "--
"; - echo count($setting); - echo "--NEXT
"; - echo json_encode($SETTINGS[$index +1]); - echo "--
"; - } - - $index = $index +1; - } - // go thru the groups and prepare settings to write to file foreach($groups as $group) { $txt = $txt."\n\n# ".$group; $txt = $txt."\n#---------------------------\n" ; - $index = 0; - foreach($SETTINGS as $setting) + + foreach($decodedSettings as $setting) { - $index = $index +1; + if($group == $setting[0]) - { - // if (count($setting) < 3) - if ($index == 248) - { - echo json_encode($index-1); - echo json_encode($setting[0]); - echo json_encode($setting[1]); - } - - if (count($setting) < 3) - // if ($index == 248) - { - echo "
----------------
"; - echo json_encode($index-1); - echo json_encode($setting[0]); - echo json_encode($setting[1]); - } - + { if($setting[2] == 'text' or $setting[2] == 'password' or $setting[2] == 'readonly' or $setting[2] == 'text.select') @@ -330,10 +289,10 @@ function saveSettings() } elseif($setting[2] == 'integer' or $setting[2] == 'integer.select') { $txt = $txt.$setting[1]."=".$setting[3]."\n" ; - } elseif($setting[2] == 'boolean') + } elseif($setting[2] == 'boolean' || $setting[2] == 'integer.checkbox') { $val = "False"; - if($setting[3] == 'true') + if($setting[3] == 'true' || $setting[3] == '1' || $setting[3] == 1 || $setting[3] == 'True') { $val = "True"; } @@ -368,7 +327,7 @@ function saveSettings() $txt = $txt."#-------------------IMPORTANT INFO-------------------#\n"; // open new file and write the new configuration - $newConfig = fopen($fullConfPath, "w") or die("Unable to open file!"); + $newConfig = fopen($fullConfPath, "w") or die("Unable to open file!"); fwrite($newConfig, $txt); fclose($newConfig); diff --git a/front/php/server/utilDB.php b/front/php/server/utilDB.php old mode 100644 new mode 100755 diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json old mode 100644 new mode 100755 diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json old mode 100644 new mode 100755 diff --git a/front/settings.php b/front/settings.php index 45dbbc3a..5a7a5ee6 100755 --- a/front/settings.php +++ b/front/settings.php @@ -461,12 +461,6 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { } }); - // todo fix passing values between front end and server - console.log("settingsArray"); - console.log(settingsArray); - - sessionStorage.setItem('pia_settingsArray', settingsArray); - return settingsArray; } @@ -480,7 +474,9 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { $.ajax({ method: "POST", url: "../php/server/util.php", - data: { function: 'savesettings', settings: collectSettings() }, + data: { + function: 'savesettings', + settings: JSON.stringify(collectSettings()) }, success: function(data, textStatus) { showModalOk ('Result', data ); // Remove navigation prompt "Are you sure you want to leave..." @@ -490,6 +486,7 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { } } + // --------------------------------------------------------- function getParam(targetId, key, skipCache = false) { diff --git a/pialert/initialise.py b/pialert/initialise.py index 6d97a24f..0783153e 100755 --- a/pialert/initialise.py +++ b/pialert/initialise.py @@ -39,11 +39,13 @@ def ccd(key, default, config_dir, name, inputtype, options, group, events=[], de conf.mySettingsSQLsafe.append((key, name, desc, inputtype, options, regex, str(result), group, str(events))) # save metadata in dummy setting - conf.mySettingsSQLsafe.append((f'{key}__metadata', "metadata name", "metadata desc", 'json', "", "", json.dumps(setJsonMetadata), group, "")) + if '__metadata' not in key: + conf.mySettingsSQLsafe.append((f'{key}__metadata', "metadata name", "metadata desc", 'json', "", "", json.dumps(setJsonMetadata), group, "")) conf.mySettings.append((key, name, desc, inputtype, options, regex, result, group, str(events))) # save metadata in dummy setting - conf.mySettings.append((f'{key}__metadata', "metadata name", "metadata desc", 'json', "", "", json.dumps(setJsonMetadata), group, "")) + if '__metadata' not in key: + conf.mySettings.append((f'{key}__metadata', "metadata name", "metadata desc", 'json', "", "", json.dumps(setJsonMetadata), group, "")) return result #-------------------------------------------------------------------------------