From 75f0697093ac3228487ef973cb0d8733580123ea Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Fri, 14 Mar 2014 14:10:22 -0400 Subject: [PATCH 1/3] BUG 13974 "Error in triggers in lines of code commented" SOLVED - Error in triggers in lines of code commented. - Problema Resuelto, Se valida el Script del triggers quitando todo los comnetarios que existe en el codigo antes de ser ejecutado, el cambio se lo realizo en el metodo "setScript($sScript = '')". --- workflow/engine/classes/class.pmScript.php | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/workflow/engine/classes/class.pmScript.php b/workflow/engine/classes/class.pmScript.php index 31a9de9f1..15422ecf3 100644 --- a/workflow/engine/classes/class.pmScript.php +++ b/workflow/engine/classes/class.pmScript.php @@ -151,6 +151,39 @@ class PMScript */ public function setScript ($sScript = '') { + $nrt = array("\n", "\r", "\t"); + $nrthtml = array("(n /)", "(r /)", "(t /)"); + + $script = $sScript; + $script = str_replace($nrt, $nrthtml, $script); + + while (preg_match("/^(.*)\/\*(.*)$/", $script, $arrayMatch)) { + $scriptAux = ""; + + if (preg_match("/^.*\*\/.*$/", $arrayMatch[2])) { + $arrayAux = explode("*/", $arrayMatch[2]); + unset($arrayAux[0]); + $scriptAux = implode("*/", $arrayAux); + } + + $script = $arrayMatch[1] . $scriptAux; + } + + while (preg_match("/^(.*)(?:\/\/|#)(.*)$/", $script, $arrayMatch)) { + $scriptAux = ""; + + if (preg_match("/^.*\(n\s\/\).*$/", $arrayMatch[2])) { + $arrayAux = explode("(n /)", $arrayMatch[2]); + unset($arrayAux[0]); + $scriptAux = implode("(n /)", $arrayAux); + } + + $script = $arrayMatch[1] . $scriptAux; + } + + $script = str_replace($nrthtml, $nrt, $script); + $sScript = $script; + $this->sScript = $sScript; } From 13552bf8a0f2ac7bf7431ef3328c8ab271873fe2 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Tue, 18 Mar 2014 10:29:57 -0400 Subject: [PATCH 2/3] BUG 13974 "Error in triggers in lines of code commented" SOLVED - Error in triggers in lines of code commented. - Problema Resuelto, Se valida el Script del triggers quitando todo los comnetarios que existe en el codigo antes de ser ejecutado, el cambio se lo realizo en el metodo "setScript($sScript = '')". --- workflow/engine/classes/class.pmScript.php | 50 +++++++++++----------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/workflow/engine/classes/class.pmScript.php b/workflow/engine/classes/class.pmScript.php index 15422ecf3..9fab948ea 100644 --- a/workflow/engine/classes/class.pmScript.php +++ b/workflow/engine/classes/class.pmScript.php @@ -151,38 +151,36 @@ class PMScript */ public function setScript ($sScript = '') { - $nrt = array("\n", "\r", "\t"); - $nrthtml = array("(n /)", "(r /)", "(t /)"); - - $script = $sScript; - $script = str_replace($nrt, $nrthtml, $script); - - while (preg_match("/^(.*)\/\*(.*)$/", $script, $arrayMatch)) { - $scriptAux = ""; - - if (preg_match("/^.*\*\/.*$/", $arrayMatch[2])) { - $arrayAux = explode("*/", $arrayMatch[2]); - unset($arrayAux[0]); - $scriptAux = implode("*/", $arrayAux); - } - - $script = $arrayMatch[1] . $scriptAux; + if (!defined("T_ML_COMMENT")) { + define("T_ML_COMMENT", T_COMMENT); + } else { + define("T_DOC_COMMENT", T_ML_COMMENT); } - while (preg_match("/^(.*)(?:\/\/|#)(.*)$/", $script, $arrayMatch)) { - $scriptAux = ""; + $script = ""), array("", "", ""), $result)); + $sScript = $result; $this->sScript = $sScript; } From 88604409a1cd6beea56f1e68c91d39e820a39682 Mon Sep 17 00:00:00 2001 From: Luis Fernando Saisa Lopez Date: Tue, 18 Mar 2014 12:13:37 -0400 Subject: [PATCH 3/3] BUG 13974 "Error in triggers in lines of code commented" SOLVED - Error in triggers in lines of code commented. - Problema Resuelto, Se valida el Script del triggers quitando todo los comnetarios que existe en el codigo antes de ser ejecutado, el cambio se lo realizo en el metodo "setScript($sScript = '')". --- workflow/engine/classes/class.pmScript.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.pmScript.php b/workflow/engine/classes/class.pmScript.php index 9fab948ea..6635b5df0 100644 --- a/workflow/engine/classes/class.pmScript.php +++ b/workflow/engine/classes/class.pmScript.php @@ -168,6 +168,8 @@ class PMScript list($id, $text) = $token; switch ($id) { + case T_OPEN_TAG: + case T_CLOSE_TAG: case T_COMMENT: case T_ML_COMMENT: //we've defined this case T_DOC_COMMENT: //and this @@ -179,7 +181,7 @@ class PMScript } } - $result = trim(str_replace(array(""), array("", "", ""), $result)); + $result = trim($result); $sScript = $result; $this->sScript = $sScript;