diff --git a/front/php/server/util.php b/front/php/server/util.php
index 466352ec..4b6d9daf 100755
--- a/front/php/server/util.php
+++ b/front/php/server/util.php
@@ -202,7 +202,7 @@ function cleanLog($logFile)
$path = "";
- $allowedFiles = ['pialert.log', 'pialert_front.log', 'IP_changes.log', 'stdout.log', 'stderr.log', "pialert_pholus_lastrun.log"];
+ $allowedFiles = ['pialert.log', 'pialert_front.log', 'IP_changes.log', 'stdout.log', 'stderr.log', "pialert_pholus_lastrun.log", 'pialert.php_errors.log'];
if(in_array($logFile, $allowedFiles))
{
@@ -365,10 +365,39 @@ function encode_single_quotes ($val) {
// -------------------------------------------------------------------------------------------
function getDateFromPeriod () {
- $period = $_REQUEST['period'];
- return '"'. date ('Y-m-d', strtotime ('+2 day -'. $period) ) .'"';
+
+ $periodDate = $_REQUEST['period'];
+
+ $periodDateSQL = "";
+ $days = "";
+
+ switch ($periodDate) {
+ case '7 days':
+ $days = "7";
+ break;
+ case '1 month':
+ $days = "30";
+ break;
+ case '1 year':
+ $days = "365";
+ break;
+ case '100 years':
+ $days = "3650"; //10 years
+ break;
+ default:
+ $days = "1";
+ }
+
+ $periodDateSQL = "-".$days." day";
+
+ return " date('now', '".$periodDateSQL."') ";
+
+ // $period = $_REQUEST['period'];
+ // return '"'. date ('Y-m-d', strtotime ('+2 day -'. $period) ) .'"';
}
+
+
// -------------------------------------------------------------------------------------------
function quotes ($text) {
return str_replace ('"','""',$text);
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json
index e5f0bca8..b556ce54 100755
--- a/front/php/templates/language/en_us.json
+++ b/front/php/templates/language/en_us.json
@@ -492,7 +492,7 @@
"WEBHOOK_REQUEST_METHOD_name" : "Request method",
"WEBHOOK_REQUEST_METHOD_description" : "The HTTP request method to be used for the webhook call.",
"WEBHOOK_SIZE_name" : "Max payload size",
- "WEBHOOK_SIZE_description" : "The maximum size of the webhook payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
+ "WEBHOOK_SIZE_description" : "The maximum size of the webhook payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
"Apprise_display_name" : "Apprise",
"Apprise_icon" : "",
"REPORT_APPRISE_name" : "Enable Apprise",
@@ -501,6 +501,8 @@
"APPRISE_HOST_description" : "Apprise host URL starting with http:// or https://. (don not forget to include /notify at the end)",
"APPRISE_URL_name" : "Apprise notification URL",
"APPRISE_URL_description" : "Apprise notification target URL. For example for Telegram it would be tgram://{bot_token}/{chat_id}.",
+ "APPRISE_SIZE_name" : "Max payload size",
+ "APPRISE_SIZE_description" : "The maximum size of the apprise payload as number of characters in the passed string. If above limit, it will be truncated and a (text was truncated) message is appended.",
"NTFY_display_name" : "NTFY",
"NTFY_icon" : "",
"REPORT_NTFY_name" : "Enable NTFY",
diff --git a/front/plugins/plugin_helper.py b/front/plugins/plugin_helper.py
index 7072d4f7..0643391c 100755
--- a/front/plugins/plugin_helper.py
+++ b/front/plugins/plugin_helper.py
@@ -14,7 +14,9 @@ def read_config_file():
print('[plugin_helper] reading config file')
# load the variables from pialert.conf
- code = compile(filename.read_text(), filename.name, "exec")
+ with open(filename, "r") as file:
+ code = compile(file.read(), filename, "exec")
+
confDict = {} # config dictionary
exec(code, {"__builtins__": {}}, confDict)
return confDict
diff --git a/pialert/initialise.py b/pialert/initialise.py
index a0d4eaee..38991ed3 100755
--- a/pialert/initialise.py
+++ b/pialert/initialise.py
@@ -124,6 +124,7 @@ def importConfigs (db):
conf.APPRISE_HOST = ccd('APPRISE_HOST', '' , c_d, 'Apprise host URL', 'text', '', 'Apprise')
conf.APPRISE_URL = ccd('APPRISE_URL', '' , c_d, 'Apprise notification URL', 'text', '', 'Apprise')
conf.APPRISE_PAYLOAD = ccd('APPRISE_PAYLOAD', 'html' , c_d, 'Payload type', 'text.select', "['html', 'text']", 'Apprise')
+ conf.APPRISE_SIZE = ccd('APPRISE_SIZE', 1024 , c_d, 'Payload size', 'integer', '', 'Apprise')
# NTFY
conf.REPORT_NTFY = ccd('REPORT_NTFY', False , c_d, 'Enable NTFY', 'boolean', '', 'NTFY', ['test'])
diff --git a/pialert/plugin.py b/pialert/plugin.py
index 5b9b4280..e50042dd 100755
--- a/pialert/plugin.py
+++ b/pialert/plugin.py
@@ -23,6 +23,7 @@ class plugins_state:
def run_plugin_scripts(db, runType, pluginsState = None):
if pluginsState == None:
+ mylog('debug', ['[Plugins] pluginsState initialized '])
pluginsState = plugins_state()
# Header
@@ -615,8 +616,6 @@ def process_plugin_events(db, plugin, pluginsState):
db.commitDB()
-
-
return pluginsState
diff --git a/pialert/publishers/apprise.py b/pialert/publishers/apprise.py
index b497147b..148e9036 100755
--- a/pialert/publishers/apprise.py
+++ b/pialert/publishers/apprise.py
@@ -18,34 +18,45 @@ def send(msg: noti_struc):
html = msg.html
text = msg.text
- # Define Apprise compatible payload (https://github.com/caronc/apprise-api#stateless-solution)
- payload = html
+ payloadData = ''
- if conf.APPRISE_PAYLOAD == 'text':
- payload = text
+ # limit = 1024 * 1024 # 1MB limit (1024 bytes * 1024 bytes = 1MB)
+ limit = conf.APPRISE_SIZE
+
+ # truncate size
+ if conf.APPRISE_PAYLOAD == 'html':
+ if len(msg.html) > limit:
+ payloadData = msg.html[:limit] + "