From 78a9b33c4b0e19d9ff3cc75e813535a4b7ed709e Mon Sep 17 00:00:00 2001 From: laf Date: Fri, 27 Feb 2015 11:51:54 +0000 Subject: [PATCH] Updated split regex to cover more advanced rules --- html/forms/parse-alert-rule.inc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/forms/parse-alert-rule.inc.php b/html/forms/parse-alert-rule.inc.php index 7ce44d675..fb6a8019a 100644 --- a/html/forms/parse-alert-rule.inc.php +++ b/html/forms/parse-alert-rule.inc.php @@ -20,9 +20,9 @@ $alert_id = $_POST['alert_id']; if(is_numeric($alert_id) && $alert_id > 0) { $rule = dbFetchRow("SELECT * FROM `alert_rules` WHERE `id` = ? LIMIT 1",array($alert_id)); - $rule_split = preg_split('/([a-zA-Z0-9_\-\.\=\%\<\>\ \"\'\!\~]+[&&||]+)/',$rule['rule'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); + $rule_split = preg_split('/([a-zA-Z0-9_\-\.\=\%\<\>\ \"\'\!\~\(\)\*\/]+[&&\|\|]+)/',$rule['rule'], -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); $count = count($rule_split) - 1; - $rule_split[$count] = $rule_split[$count].'&&'; + $rule_split[$count] = $rule_split[$count].' &&'; $output = array('severity'=>$rule['severity'],'extra'=>$rule['extra'],'name'=>$rule['name'],'rules'=>$rule_split); echo _json_encode($output); }