@@ -39,6 +39,11 @@ class Interpreter
39
39
'SG1 ' => [['TDT ' , '20 ' , 'XXX ' ]],
40
40
];
41
41
42
+ /**
43
+ *
44
+ */
45
+ private $ patchFiles = true ;
46
+
42
47
/**
43
48
* @var \SimpleXMLElement
44
49
*/
@@ -113,6 +118,11 @@ public function __construct(string $xmlMsg, array $xmlSeg, array $xmlSvc, array
113
118
};
114
119
}
115
120
121
+ public function togglePatching (bool $ flag )
122
+ {
123
+ $ this ->patchFiles = $ flag ;
124
+ }
125
+
116
126
/**
117
127
* Patch the error messages array
118
128
*
@@ -305,7 +315,12 @@ private function splitMessages(&$parsed, &$errors): array
305
315
];
306
316
}
307
317
$ service ['UNZ ' ] = $ segment ;
308
-
318
+ if ($ this ->patchFiles && $ hasMessageDelimiters > 0 ) {
319
+ $ segment = ['UNT ' , '0 ' , '1 ' ];
320
+ $ hasMessageDelimiters --;
321
+ $ tmpmsg [] = $ segment ;
322
+ $ messages [] = $ tmpmsg ;
323
+ }
309
324
break ;
310
325
case 'UNH ' :
311
326
$ hasMessageDelimiters = 0 ;
@@ -416,7 +431,7 @@ private function processXmlGroup(\SimpleXMLElement $elm, array &$message, int &$
416
431
) {
417
432
$ elmType = $ elm ['id ' ]->__toString ();
418
433
$ fixed = false ;
419
- if (isset ($ this ->groupTemplates [$ elmType ])) {
434
+ if ($ this -> patchFiles && isset ($ this ->groupTemplates [$ elmType ])) {
420
435
\array_splice ($ message , $ segmentIdx , 0 , $ this ->groupTemplates [$ elmType ]);
421
436
$ fixed = true ;
422
437
}
@@ -482,7 +497,7 @@ private function processXmlSegment(\SimpleXMLElement $elm, array &$message, int
482
497
$ elmType = (string ) $ elm ['id ' ];
483
498
}
484
499
485
- if (isset ($ this ->segmentTemplates [$ elmType ])) {
500
+ if ($ this -> patchFiles && isset ($ this ->segmentTemplates [$ elmType ])) {
486
501
$ jsonMessage = $ this ->processSegment ($ this ->segmentTemplates [$ elmType ], $ this ->xmlSeg , $ segmentIdx , $ errors );
487
502
$ fixed = true ;
488
503
$ this ->doAddArray ($ array , $ jsonMessage );
0 commit comments