From 31d7c5173fb96101b335413c852ff94117a23db7 Mon Sep 17 00:00:00 2001 From: Jokob-sk Date: Mon, 26 Dec 2022 20:30:28 +1100 Subject: [PATCH] code cleanup --- back/pialert.py | 8 +-- front/index.php | 58 +--------------- front/maintenance.php | 54 +++++---------- front/php/server/devices.php | 49 +------------ front/php/server/util.php | 51 +------------- front/php/templates/header.php | 96 +------------------------- front/php/templates/language/de_de.php | 2 +- front/php/templates/language/en_us.php | 9 ++- front/php/templates/language/es_es.php | 3 +- front/php/templates/language/lang.php | 43 ++++++++++++ front/php/templates/skinUI.php | 19 +++++ front/php/templates/timezone.php | 44 ++++++++++++ front/settings.php | 8 +-- 13 files changed, 149 insertions(+), 295 deletions(-) create mode 100644 front/php/templates/language/lang.php create mode 100644 front/php/templates/skinUI.php create mode 100644 front/php/templates/timezone.php diff --git a/back/pialert.py b/back/pialert.py index 0dcf27c3..e423a34c 100755 --- a/back/pialert.py +++ b/back/pialert.py @@ -51,6 +51,8 @@ fullConfPath = pialertPath + confPath fullDbPath = pialertPath + dbPath STOPARPSCAN = pialertPath + "/db/setting_stoparpscan" +time_now = datetime.datetime.now() +log_timestamp = time_now sql_connection = None @@ -101,7 +103,7 @@ def print_log (pText): log_timestamp2 = datetime.datetime.now() # Print line + time + elapsed time + text - file_print('[LOG_PRINT] ', + file_print('[PRINT_LOG] ', log_timestamp2, ' ', log_timestamp2 - log_timestamp, ' ', pText) @@ -469,8 +471,6 @@ check_report = [1, "internet_IP", "update_vendors_silent"] mqtt_thread_up = False # timestamps of last execution times -time_now = datetime.datetime.now() -log_timestamp = time_now startTime = time_now now_minus_24h = time_now - timedelta(hours = 24) @@ -2560,7 +2560,7 @@ def upgradeDB (): """).fetchone() == None # Re-creating Settings table - if settingsMissing: + # if settingsMissing: file_print("[upgradeDB] Re-creating Settings table") sql.execute("DROP TABLE Settings;") diff --git a/front/index.php b/front/index.php index 4daaa75c..7e963db4 100755 --- a/front/index.php +++ b/front/index.php @@ -10,69 +10,17 @@ if(array_search('action', $_REQUEST) != FALSE) } } +require 'php/templates/language/lang.php'; +require 'php/templates/skinUI.php'; + // ################################################## // ## Login Processing start // ################################################## $config_file = "../config/pialert.conf"; $config_file_lines = file($config_file); -// ################################### -// ## GUI settings processing start -// ################################### -if (file_exists('../db/setting_darkmode')) { - $ENABLED_DARKMODE = True; -} -foreach (glob("../db/setting_skin*") as $filename) { - $pia_skin_selected = str_replace('setting_','',basename($filename)); -} -if (isset($pia_skin_selected) == FALSE or (strlen($pia_skin_selected) == 0)) {$pia_skin_selected = 'skin-blue';} -foreach (glob("../db/setting_language*") as $filename) { - $pia_lang_selected = str_replace('setting_language_','',basename($filename)); -} -if (isset($pia_lang_selected) == FALSE or (strlen($pia_lang_selected) == 0)) {$pia_lang_selected = 'en_us';} -require '/home/pi/pialert/front/php/templates/language/'.$pia_lang_selected.'.php'; -// ################################### -// ## GUI settings processing end -// ################################### -// ################################### -// ## Languages -// ################################### -foreach (glob("../db/setting_language*") as $filename) { - $pia_lang_selected = str_replace('setting_language_','',basename($filename)); -} - -if (isset($pia_lang_selected) == FALSE or (strlen($pia_lang_selected) == 0)) {$pia_lang_selected = 'en_us';} - -require 'php/templates/language/en_us.php'; -require 'php/templates/language/de_de.php'; -require 'php/templates/language/es_es.php'; - -function lang($key) -{ -global $pia_lang_selected, $lang ; - -// try to get the selected language translation -$temp = $lang[$pia_lang_selected][$key]; - -if(isset($temp) == FALSE) -{ - // if not found, use English - $temp = $lang[$pia_lang_selected]["en_us"]; - - // echo $temp; - if(isset($temp) == FALSE) - { - // if not found, in English, use placeholder - $temp = "String not found"; - } -} - -// echo $temp; - -return $temp; -} // ################################### // ## PIALERT_WEB_PROTECTION FALSE // ################################### diff --git a/front/maintenance.php b/front/maintenance.php index 3528e74c..15558611 100755 --- a/front/maintenance.php +++ b/front/maintenance.php @@ -146,32 +146,6 @@ if (submit && isset($_POST['skinselector_set'])) { // Language selector ----------------------------------------------------------------- -if (submit && isset($_POST['langselector_set'])) { - $pia_lang_set_dir = '../db/'; - $pia_lang_selector = htmlspecialchars($_POST['langselector']); - if (in_array($pia_lang_selector, $pia_installed_langs)) { - foreach ($pia_installed_langs as $file) { - unlink ($pia_lang_set_dir.'/setting_language_'.$file); - } - foreach ($pia_installed_langs as $file) { - if (file_exists($pia_lang_set_dir.'/setting_language_'.$file)) { - $pia_lang_error = True; - break; - } else { - $pia_lang_error = False; - } - } - if ($pia_lang_error == False) { - $testlang = fopen($pia_lang_set_dir.'setting_language_'.$pia_lang_selector, 'w'); - //$pia_lang_test = ''; - echo(""); - } else { - //$pia_lang_test = ''; - echo(""); - } - } -} - ?>
@@ -239,21 +213,19 @@ if (submit && isset($_POST['langselector_set'])) {
-
-
-
- -
+
+ +
-
+
@@ -722,6 +694,14 @@ function initializeTabs () { }); } +// save language in a cookie +$('#langselector').on('change', function (e) { + var optionSelected = $("option:selected", this); + var valueSelected = this.value; + setCookie("language",valueSelected ) + location.reload(); + }); + // load footer asynchronously not to block the page load/other sections window.onload = function asyncFooter() diff --git a/front/php/server/devices.php b/front/php/server/devices.php index 95947292..f3e85644 100755 --- a/front/php/server/devices.php +++ b/front/php/server/devices.php @@ -7,54 +7,11 @@ //------------------------------------------------------------------------------ // Puche 2021 pi.alert.application@gmail.com GNU GPLv3 //------------------------------------------------------------------------------ -// ################################### -// ## TimeZone processing start -// ################################### -$configFolderPath = "/home/pi/pialert/config/"; -$config_file = "pialert.conf"; -$logFolderPath = "/home/pi/pialert/front/log/"; -$log_file = "pialert_front.log"; - - -$fullConfPath = $configFolderPath.$config_file; - -$config_file_lines = file($fullConfPath); -$config_file_lines_timezone = array_values(preg_grep('/^TIMEZONE\s.*/', $config_file_lines)); - -$timeZone = ""; - -foreach ($config_file_lines as $line) -{ - if( preg_match('/TIMEZONE(.*?)/', $line, $match) == 1 ) - { - if (preg_match('/\'(.*?)\'/', $line, $match) == 1) { - $timeZone = $match[1]; - } - } -} - -if($timeZone == "") -{ - $timeZone = "Europe/Berlin"; -} - -date_default_timezone_set($timeZone); - -$date = new DateTime("now", new DateTimeZone($timeZone) ); -$timestamp = $date->format('Y-m-d_H-i-s'); - -// ################################### -// ## TimeZone processing end -// ################################### - - - - -//------------------------------------------------------------------------------ // External files - require 'db.php'; - require 'util.php'; + require '/home/pi/pialert/front/php/templates/timezone.php'; + require '/home/pi/pialert/front/php/server/db.php'; + require '/home/pi/pialert/front/php/server/util.php'; //------------------------------------------------------------------------------ // Action selector diff --git a/front/php/server/util.php b/front/php/server/util.php index 74d07642..22b59c12 100755 --- a/front/php/server/util.php +++ b/front/php/server/util.php @@ -8,57 +8,10 @@ // Puche 2021 pi.alert.application@gmail.com GNU GPLv3 //------------------------------------------------------------------------------ -// ################################### -// ## TimeZone processing start -// ################################### -$configFolderPath = "/home/pi/pialert/config/"; -$config_file = "pialert.conf"; -$logFolderPath = "/home/pi/pialert/front/log/"; -$log_file = "pialert_front.log"; +require '/home/pi/pialert/front/php/templates/timezone.php'; +require '/home/pi/pialert/front/php/templates/skinUI.php'; -$fullConfPath = $configFolderPath.$config_file; - -$config_file_lines = file($fullConfPath); -$config_file_lines_timezone = array_values(preg_grep('/^TIMEZONE\s.*/', $config_file_lines)); - -$timeZone = ""; - -foreach ($config_file_lines as $line) -{ - if( preg_match('/TIMEZONE(.*?)/', $line, $match) == 1 ) - { - if (preg_match('/\'(.*?)\'/', $line, $match) == 1) { - $timeZone = $match[1]; - } - } -} - -if($timeZone == "") -{ - $timeZone = "Europe/Berlin"; -} - -date_default_timezone_set($timeZone); - -$date = new DateTime("now", new DateTimeZone($timeZone) ); -$timestamp = $date->format('Y-m-d_H-i-s'); - - -// ################################### -// ## TimeZone processing end -// ################################### -// ################################### -// ## GUI settings processing start -// ################################### -foreach (glob("../db/setting_language*") as $filename) { - $pia_lang_selected = str_replace('setting_language_','',basename($filename)); -} -if (isset($pia_lang_selected) == FALSE or (strlen($pia_lang_selected) == 0)) {$pia_lang_selected = 'en_us';} -require '/home/pi/pialert/front/php/templates/language/'.$pia_lang_selected.'.php'; -// ################################### -// ## GUI settings processing end -// ################################### $FUNCTION = []; $SETTINGS = []; diff --git a/front/php/templates/header.php b/front/php/templates/header.php index 1c472605..8780bb6d 100755 --- a/front/php/templates/header.php +++ b/front/php/templates/header.php @@ -8,101 +8,11 @@ #--------------------------------------------------------------------------- --> format('Y-m-d_H-i-s'); - -// ################################### -// ## TimeZone processing end -// ################################### - - -// ################################### -// ## GUI settings processing start -// ################################### -if (file_exists('../db/setting_darkmode')) { - $ENABLED_DARKMODE = True; -} -foreach (glob("../db/setting_skin*") as $filename) { - $pia_skin_selected = str_replace('setting_','',basename($filename)); -} -if (isset($pia_skin_selected) == FALSE or (strlen($pia_skin_selected) == 0)) {$pia_skin_selected = 'skin-blue';} - -// ################################### -// ## Languages -// ################################### - -foreach (glob("../db/setting_language*") as $filename) { - $pia_lang_selected = str_replace('setting_language_','',basename($filename)); -} - -if (isset($pia_lang_selected) == FALSE or (strlen($pia_lang_selected) == 0)) {$pia_lang_selected = 'en_us';} - -require 'php/templates/language/en_us.php'; -require 'php/templates/language/de_de.php'; -require 'php/templates/language/es_es.php'; - -function lang($key) -{ - global $pia_lang_selected, $lang ; - - // try to get the selected language translation - $temp = $lang[$pia_lang_selected][$key]; - - if(isset($temp) == FALSE) - { - // if not found, use English - $temp = $lang[$pia_lang_selected]["en_us"]; - - // echo $temp; - if(isset($temp) == FALSE) - { - // if not found, in English, use placeholder - $temp = "String not found"; - } - } - - // echo $temp; - - return $temp; -} - -// ################################### -// ## GUI settings processing end -// ################################### ?> diff --git a/front/php/templates/language/de_de.php b/front/php/templates/language/de_de.php index 668e4926..089649f2 100755 --- a/front/php/templates/language/de_de.php +++ b/front/php/templates/language/de_de.php @@ -205,7 +205,7 @@ $lang['de_de'] = array( 'DevDetail_Nmap_buttonDetail_text' => 'Detailierter Scan: Standardscan mit aktivierter Betriebssystemerkennung, Versionserkennung, Skript-Scan und Traceroute (bis zu 30 oder mehr Sekunden)', 'DevDetail_Nmap_buttonSkipDiscovery' => 'Ohne Erreichbarkeitsprüfung', 'DevDetail_Nmap_buttonSkipDiscovery_text' => 'Ohne Erreichbarkeitsprüfung (-Pn Parameter): Standard Scan bei dem nmap annimmt, dass der Host erreichbar ist.', -'DevDetail_Nmap_resultsLink' => 'Results will be also available in the pialert_front.log file.', + ////////////////////////////////////////////////////////////////// // Maintenance Page diff --git a/front/php/templates/language/en_us.php b/front/php/templates/language/en_us.php index 74436c6e..5d693893 100755 --- a/front/php/templates/language/en_us.php +++ b/front/php/templates/language/en_us.php @@ -203,7 +203,7 @@ $lang['en_us'] = array( 'DevDetail_Nmap_buttonDetail_text' => 'Detailed Scan: Default scan with enabled OS detection, version detection, script scanning and traceroute (up to 30 seconds or more)', 'DevDetail_Nmap_buttonSkipDiscovery' => 'Skip host discovery', 'DevDetail_Nmap_buttonSkipDiscovery_text' => 'Skip host discovery (-Pn option): Default scan without host discovery', -'DevDetail_Nmap_resultsLink' => 'Results will be also available in the pialert_front.log file.', +'DevDetail_Nmap_resultsLink' => 'You can leave this page after starting a scan. Results will be also available in the pialert_front.log file.', ////////////////////////////////////////////////////////////////// // Maintenance Page @@ -212,7 +212,7 @@ $lang['en_us'] = array( 'Maintenance_Title' => 'Maintenance tools', 'Maintenance_database_path' => 'Database-Path', 'Maintenance_database_size' => 'Database-Size', -'Maintenance_database_lastmod' => 'last Modification', +'Maintenance_database_lastmod' => 'Last Modification', 'Maintenance_database_backup' => 'DB Backups', 'Maintenance_database_backup_found' => 'backups were found', 'Maintenance_database_backup_total' => 'total disk usage', @@ -228,7 +228,7 @@ $lang['en_us'] = array( 'Maintenance_lang_en_us' => 'English (US)', 'Maintenance_lang_de_de' => 'German (DE)', 'Maintenance_lang_es_es' => 'Spanish (ES)', -'Maintenance_lang_selector_text' => 'The change takes place on the server side, so it affects all devices in use.', +'Maintenance_lang_selector_text' => 'The change takes place on the client side, so it affects only the current browser.', 'Maintenance_lang_selector_apply' => 'Apply', 'Maintenance_Tools_Tab_Settings' => 'Settings', 'Maintenance_Tools_Tab_Tools' => 'Tools', @@ -422,6 +422,9 @@ $lang['en_us'] = array( // Settings ////////////////////////////////////////////////////////////////// + +'settings_missing' => 'Not all settings loaded, refresh the page!', + //General 'SCAN_SUBNETS_name' => 'Subnets to scan', 'SCAN_SUBNETS_description' => ' diff --git a/front/php/templates/language/es_es.php b/front/php/templates/language/es_es.php index 629ab46f..3dc86cde 100755 --- a/front/php/templates/language/es_es.php +++ b/front/php/templates/language/es_es.php @@ -47,7 +47,7 @@ $lang['es_es'] = array( 'Navigation_Presence' => 'Historial', 'Navigation_Events' => 'Eventos', 'Navigation_Maintenance' => 'Cantenimiento', -'Navigation_Settings' => 'configuración', +'Navigation_Settings' => 'Configuración', 'Navigation_Network' => 'Red', 'Navigation_HelpFAQ' => 'Ayuda / FAQ', 'Device_Title' => 'Dispositivos', @@ -199,7 +199,6 @@ $lang['es_es'] = array( 'DevDetail_Nmap_buttonDetail_text' => 'Escaneo detallado: escaneo predeterminado con detección de sistema operativo habilitado, detección de versiones, escaneo de script y traceroute (hasta 30 segundos o más)', 'DevDetail_Nmap_buttonSkipDiscovery' => 'Omitir detección de host', 'DevDetail_Nmap_buttonSkipDiscovery_text' => 'Omitir detección de host (-Pn opción): Escaneo predeterminado sin detección de host', -'DevDetail_Nmap_resultsLink' => 'Results will be also available in the pialert_front.log file.', ////////////////////////////////////////////////////////////////// // Maintenance Page - Update by @TeroRERO 07ago2022 diff --git a/front/php/templates/language/lang.php b/front/php/templates/language/lang.php new file mode 100644 index 00000000..95fe0c75 --- /dev/null +++ b/front/php/templates/language/lang.php @@ -0,0 +1,43 @@ + \ No newline at end of file diff --git a/front/php/templates/skinUI.php b/front/php/templates/skinUI.php new file mode 100644 index 00000000..853e0b69 --- /dev/null +++ b/front/php/templates/skinUI.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/front/php/templates/timezone.php b/front/php/templates/timezone.php new file mode 100644 index 00000000..63fc9e4d --- /dev/null +++ b/front/php/templates/timezone.php @@ -0,0 +1,44 @@ +format('Y-m-d_H-i-s'); + +// ################################### +// ## TimeZone processing end +// ################################### + +?> \ No newline at end of file diff --git a/front/settings.php b/front/settings.php index 61740c1f..3aa3a383 100644 --- a/front/settings.php +++ b/front/settings.php @@ -19,9 +19,6 @@ if (strlen($pia_lang_selected) == 0) {$pia_lang_selected = 'en_us';} // External files require 'php/server/db.php'; require 'php/server/util.php'; -require 'php/templates/language/'.$pia_lang_selected.'.php'; - - //------------------------------------------------------------------------------ // Action selector @@ -47,8 +44,7 @@ $result = $db->query("SELECT * FROM Settings"); $settings = array(); while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { // Push row data - $settings[] = array( 'Index' => $row['Index'], - 'Code_Name' => $row['Code_Name'], + $settings[] = array( 'Code_Name' => $row['Code_Name'], 'Display_Name' => $row['Display_Name'], 'Description' => $row['Description'], 'Type' => $row['Type'], @@ -61,6 +57,8 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { $db->close(); +echo ""; + ?>