From 2fbbf220fbcdabed25cd11306530416215fae222 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Wed, 1 May 2024 08:11:58 +1000 Subject: [PATCH] =?UTF-8?q?Sanity=20check=20before=20settings=20are=20save?= =?UTF-8?q?d=20#655=20=E2=9A=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- front/php/templates/language/es_es.json | 0 front/php/templates/language/it_it.json | 0 front/settings.php | 52 +++++++++++++++++-------- 3 files changed, 35 insertions(+), 17 deletions(-) mode change 100644 => 100755 front/php/templates/language/es_es.json mode change 100644 => 100755 front/php/templates/language/it_it.json 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/php/templates/language/it_it.json b/front/php/templates/language/it_it.json old mode 100644 new mode 100755 diff --git a/front/settings.php b/front/settings.php index fbf05bb9..02e7242b 100755 --- a/front/settings.php +++ b/front/settings.php @@ -753,25 +753,43 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { } }); - // trigger a save settings event in the backend - $.ajax({ - method: "POST", - url: "php/server/util.php", - data: { - function: 'savesettings', - settings: JSON.stringify(settingsArray) }, - success: function(data, textStatus) { - - showModalOk ('Result', data ); - - // Remove navigation prompt "Are you sure you want to leave..." - window.onbeforeunload = null; + // console.log(settingsArray); - // Reloads the current page - setTimeout("window.location.reload()", 3000); - - } + // sanity check to make sure settings were loaded & collected correctly + sanityCheck_notOK = true + $.each(settingsArray, function(index, value) { + // Do something with each element of the array + if(value[1] == "UI_LANG") + { + sanityCheck_notOK = isEmpty(value[3]) + } + }); + + if(sanityCheck_notOK == false) + { + // trigger a save settings event in the backend + $.ajax({ + method: "POST", + url: "php/server/util.php", + data: { + function: 'savesettings', + settings: JSON.stringify(settingsArray) }, + success: function(data, textStatus) { + + showModalOk ('Result', data ); + + // Remove navigation prompt "Are you sure you want to leave..." + window.onbeforeunload = null; + + // Reloads the current page + setTimeout("window.location.reload()", 3000); + + } + }); + } else{ + showModalOk('WARNING', ""); + } })