From 22b42bbec8b4b9b4f636e244a52e0c2b621f3a4a Mon Sep 17 00:00:00 2001 From: elvill Date: Sat, 31 Oct 2020 14:00:05 +0100 Subject: [PATCH] Fixes #7156 - Throw exception when a report level is defined twice. --- extension/Classes/Core/Constants.php | 1 + extension/Classes/Core/Report/Report.php | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/extension/Classes/Core/Constants.php b/extension/Classes/Core/Constants.php index 0642db18..e1ff39b5 100644 --- a/extension/Classes/Core/Constants.php +++ b/extension/Classes/Core/Constants.php @@ -275,6 +275,7 @@ const ERROR_TOO_FEW_PARAMETER_FOR_SENDMAIL = 1408; const ERROR_TOO_MANY_PARAMETER = 1409; const ERROR_INVALID_SAVE_PDF_FILENAME = 1410; const ERROR_TWIG_COLUMN_NOT_UNIQUE = 1411; +const ERROR_DOUBLE_DEFINITION = 1412; // Upload const ERROR_UPLOAD = 1500; diff --git a/extension/Classes/Core/Report/Report.php b/extension/Classes/Core/Report/Report.php index 31665c12..3a540bc7 100644 --- a/extension/Classes/Core/Report/Report.php +++ b/extension/Classes/Core/Report/Report.php @@ -302,8 +302,14 @@ class Report { */ private function setLine($level, $frCmd, $value) { + $index = $level . "." . $frCmd; + + // throw exception if this level was already defined + if(!empty($this->frArray[$index])) { + throw new \UserReportException ("Double definition: $index is defined more than once.", ERROR_DOUBLE_DEFINITION); + } // store complete line reformatted in frArray - $this->frArray[$level . "." . $frCmd] = $value; + $this->frArray[$index] = $value; // per sql command //pro sql cmd wird der Indexarray abgefüllt. Dieser wird später verwendet um auf den $frArray zuzugreifen -- GitLab