From 393a4e8e12f858f22146cd3d7c9d9ac5457c5959 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 18 Jul 2023 14:57:43 +0200 Subject: [eventlog] Add 'L' suffix to formatting, try to improve help text --- modules-available/eventlog/inc/filterruleprocessor.inc.php | 7 ++++++- modules-available/eventlog/lang/de/template-tags.json | 4 ++-- modules-available/eventlog/lang/en/template-tags.json | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules-available/eventlog/inc/filterruleprocessor.inc.php b/modules-available/eventlog/inc/filterruleprocessor.inc.php index 3c9b861f..17a63e38 100644 --- a/modules-available/eventlog/inc/filterruleprocessor.inc.php +++ b/modules-available/eventlog/inc/filterruleprocessor.inc.php @@ -296,7 +296,7 @@ class FilterRuleProcessor private static function fillTemplate(string $template, array $values): string { - return preg_replace_callback('/%([0-9]+)(?::([0-9]+|[a-z][a-z0-9]*))?\.?([a-z]*)%/', function($m) use ($values) { + return preg_replace_callback('/%([0-9]+)(?::([0-9]+|[a-z][a-z0-9_]*))?\.?([a-z]*)%/i', function($m) use ($values) { if (!isset($values[$m[1]])) return ''; if (($m[2] ?? '') === '') { @@ -309,16 +309,21 @@ class FilterRuleProcessor switch ($m[3]) { case 'gb': $shift++; + // fallthrough case 'mb': $shift++; + // fallthrough case 'kb': $shift++; + // fallthrough case 'b': return Util::readableFileSize((int)$v, -1, $shift); case 'ts': return Util::prettyTime((int)$v); case 'd': return Util::formatDuration((int)$v); + case 'L': + return Location::getName((int)$v); case '': break; default: diff --git a/modules-available/eventlog/lang/de/template-tags.json b/modules-available/eventlog/lang/de/template-tags.json index fb2102f5..34f7147b 100644 --- a/modules-available/eventlog/lang/de/template-tags.json +++ b/modules-available/eventlog/lang/de/template-tags.json @@ -16,7 +16,7 @@ "lang_filterResult": "Ausgabe-String", "lang_filterRules": "Filterregeln", "lang_formDataHelp": "POSTed das Event als \"urlencoded\" an die angegebene URL. Verwenden Sie die Platzhalter %SUBJECT% und %TEXT% f\u00fcr die entsprechenden Felder.", - "lang_hintRegex": "Wenn sie einen RegEx verwenden, k\u00f6nnen Sie \"capture groups\" benutzen, und im Betreff oder Nachtichtenfeld referenzieren.", + "lang_hintRegex": "Wenn sie einen RegEx verwenden, k\u00f6nnen Sie \"capture groups\" benutzen, und im Betreff oder Nachrichtenfeld referenzieren.", "lang_host": "Host", "lang_http": "HTTP", "lang_httpMethod": "HTTP-Methode", @@ -37,7 +37,7 @@ "lang_mailUsers": "Via Mail zu benachrichtigende Nutzer", "lang_mailconfigs": "EMail-Konfigurationen", "lang_messageTemplate": "Nachrichtenvorlage", - "lang_messageTemplateHelp": "Sie k\u00f6nnen mittels der Platzhalter %0%, %1%, etc. Bezug auf die Filter oben nehmen. F\u00fcr Filter vom Typ \"regex\" k\u00f6nnen Sie sich mittels %n:1%, %n:2% etc. auf die \"Capture Groups\" des Regul\u00e4ren Ausdrucks beziehen. Des Weiteren k\u00f6nnen numerische Werte durch Suffixe formatiert werden: b, kb, mb, gb als Bytes, \"ts\" als Unix-Timestamp, \"d\" als Dauer in Sekunden.", + "lang_messageTemplateHelp": "Sie k\u00f6nnen mittels der Platzhalter %0%, %1%, etc. Bezug auf die Filter oben nehmen. F\u00fcr Filter vom Typ \"regex\" k\u00f6nnen Sie sich mittels %n:1%, %n:2% etc. auf die \"Capture Groups\" des Regul\u00e4ren Ausdrucks beziehen. Des Weiteren k\u00f6nnen numerische Werte durch Suffixe formatiert\/in lesbare Form umgewandelt werden. Geben Sie durch das Suffix an, welche Einheit die zu formatierende Zahl hat: \"b\", \"kb\", \"mb\", \"gb\" f\u00fcr Bytes (resp. Kilo, Mega, etc.), \"ts\" als Unix-Timestamp, \"d\" als Dauer in Sekunden, \"L\" f\u00fcr eine Location-ID.", "lang_noMailConfig": "Keine EMail-Konfiguration", "lang_optionalDescription": "Beschreibung (als Referenz, wird nicht f\u00fcr die Verarbeitung verwendet)", "lang_port": "Port", diff --git a/modules-available/eventlog/lang/en/template-tags.json b/modules-available/eventlog/lang/en/template-tags.json index a28c9b34..90425156 100644 --- a/modules-available/eventlog/lang/en/template-tags.json +++ b/modules-available/eventlog/lang/en/template-tags.json @@ -37,7 +37,7 @@ "lang_mailUsers": "Users to mail", "lang_mailconfigs": "Mail configs", "lang_messageTemplate": "Message template", - "lang_messageTemplateHelp": "You can refer to the matched rules above by using their index in percentage-signs, like %0%, %1%, etc. If you used a regex and supplied capture groups, you can refer to them individually by using %0:1%, %0:2% etc. Furthermode, you can format raw numbers by appending b, kb, mb, gb to format as size in bytes, ts to format as unix timestamp, or d to format as duration in seconds.", + "lang_messageTemplateHelp": "You can refer to the matched rules above by using their index in percentage-signs, like %0%, %1%, etc. If you use a regex with capture groups, you can refer to them individually by using %n:1%, %n:2% etc. Furthermode, you can format raw numbers by appending \"b\", \"kb\", \"mb\", \"gb\" to interpret the given value as bytes (or kilobytes, megabytes, etc.), \"ts\" if the input value is a unix timestamp, \"d\" to turn a duration in seconds into human readable format, and \"L\" to turn a location id into the according location name.", "lang_noMailConfig": "No mail config", "lang_optionalDescription": "Description (for reference only)", "lang_port": "Port", -- cgit v1.2.3-55-g7522