From 4d67c25e5a100b051542966417ef026f98cc06f7 Mon Sep 17 00:00:00 2001 From: Jokob-sk Date: Wed, 1 Feb 2023 21:46:59 +1100 Subject: [PATCH] Txt message cleanup --- back/pialert.py | 38 +++++++++++++++++++++++--- back/report_template.txt | 10 ------- front/php/templates/language/en_us.php | 2 ++ front/settings.php | 9 +++--- 4 files changed, 41 insertions(+), 18 deletions(-) diff --git a/back/pialert.py b/back/pialert.py index 5f656b64..99996cf9 100755 --- a/back/pialert.py +++ b/back/pialert.py @@ -308,7 +308,7 @@ def importConfig (): # Import setting if found in the dictionary # General - ENABLE_ARPSCAN = ccd('ENABLE_ARPSCAN', True , c_d, 'Enable arpscan', 'boolean', '', 'General') + ENABLE_ARPSCAN = ccd('ENABLE_ARPSCAN', True , c_d, 'Enable arpscan', 'boolean', '', 'General', ['run']) SCAN_SUBNETS = ccd('SCAN_SUBNETS', ['192.168.1.0/24 --interface=eth1', '192.168.1.0/24 --interface=eth0'] , c_d, 'Subnets to scan', 'subnets', '', 'General') PRINT_LOG = ccd('PRINT_LOG', False , c_d, 'Print additional logging', 'boolean', '', 'General') TIMEZONE = ccd('TIMEZONE', 'Europe/Berlin' , c_d, 'Time zone', 'text', '', 'General') @@ -1030,7 +1030,7 @@ def scan_network (): return reporting #------------------------------------------------------------------------------- -def query_ScanCycle_Data (pOpenCloseDB = False): +def query_ScanCycle_Data (pOpenCloseDB = False, cycle = 1): # Query Data sql.execute ("""SELECT cic_arpscanCycles, cic_EveryXmin FROM ScanCycles @@ -2251,8 +2251,12 @@ def send_notifications (): notiStruc = construct_notifications("", "Ports", True, changedPorts_json_struc) mail_html = mail_html.replace ('', notiStruc.html) - # mail_text = mail_text.replace ('', notiStruc.text + '\n') - mail_text = mail_text.replace ('', "Ports changed! Check PiAlert for details!" + '\n') + + portsTxt = "" + if changedPorts_json_struc is not None: + portsTxt = "Ports \n---------\n Ports changed! Check PiAlert for details!\n" + + mail_text = mail_text.replace ('', portsTxt ) json_final = { "internet": json_internet, @@ -2261,6 +2265,8 @@ def send_notifications (): "events": json_events, "ports": json_ports, } + + mail_text = removeDuplicateNewLines(mail_text) # Create clickable MAC links mail_html = generate_mac_links (mail_html, deviceUrl) @@ -2355,6 +2361,7 @@ def construct_notifications(sqlQuery, tableTitle, skipText = False, suppliedJson text = "" if json["data"] != []: + text = tableTitle + "\n---------\n" html = convert(json, build_direction=build_direction, table_attributes=table_attributes) @@ -3158,6 +3165,8 @@ def write_file (pPath, pText): file.close() else: file = open (pPath, 'w', encoding='utf-8') + if pText is None: + pText = "" file.write (pText) file.close() @@ -3304,6 +3313,14 @@ def get_all_devices(): return row +#------------------------------------------------------------------------------- +def removeDuplicateNewLines(text): + if "\n\n" in text: + return removeDuplicateNewLines(text.replace("\n\n\n", "\n\n")) + else: + return text + + #------------------------------------------------------------------------------- def hide_email(email): m = email.split('@') @@ -3327,6 +3344,8 @@ def check_and_run_event(): if event == 'test': handle_test(param) + if event == 'run': + handle_run(param) # clear event execution flag sql.execute ("UPDATE Parameters SET par_Value='finished' WHERE par_ID='Front_Event'") @@ -3334,6 +3353,17 @@ def check_and_run_event(): # commit to DB commitDB () +#------------------------------------------------------------------------------- +def handle_run(runType): + global last_network_scan + + file_print('[', timeNow(), '] START Run: ', runType) + + if runType == 'ENABLE_ARPSCAN': + last_network_scan = now_minus_24h + + file_print('[', timeNow(), '] END Run: ', runType) + #------------------------------------------------------------------------------- def handle_test(testType): diff --git a/back/report_template.txt b/back/report_template.txt index 91f94052..9e843ebe 100755 --- a/back/report_template.txt +++ b/back/report_template.txt @@ -1,18 +1,8 @@ Report Date: Server: -New Devices ----------------------- -Devices Down ----------------------- -Events ----------------------- -Internet ----------------------- -Ports ----------------------- diff --git a/front/php/templates/language/en_us.php b/front/php/templates/language/en_us.php index c3de32ba..562e162e 100755 --- a/front/php/templates/language/en_us.php +++ b/front/php/templates/language/en_us.php @@ -462,6 +462,8 @@ $lang['en_us'] = array( 'test_event_tooltip' => 'Save your changes at first before you test your settings.', 'test_event_icon' => 'fa-vial-circle-check', +'run_event_tooltip' => 'Enable the setting and save your changes at first before you run it.', +'run_event_icon' => 'fa-play', 'general_event_title' => 'Executing an ad-hoc event', 'general_event_description' => 'The event you\'ve triggered might take a while until background processes finish. The execution ended once you see finished below. Check the error log if you didn\'t get the expected result.

Status: ', diff --git a/front/settings.php b/front/settings.php index ab8e586c..88f0ddad 100755 --- a/front/settings.php +++ b/front/settings.php @@ -238,10 +238,11 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { if(count($eventsList) > 0) { foreach ($eventsList as $event) { - $eventsHtml = $eventsHtml.' - + data-myevent="'.$event.'" + > + '; } @@ -451,7 +452,7 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) { // handling events on the backend initiated by the front end START // ----------------------------------------------------------------------------- $(window).on('load', function() { - $('i[data-myevent]').each(function(index, element){ + $('span[data-myevent]').each(function(index, element){ $(element).attr('onclick', 'handleEvent(\"' + $(element).attr('data-myevent') + '|'+ $(element).attr('data-myparam') + '\")' );