Passed
Pull Request — master (#98)
by
unknown
09:26
created
src/XliffReplacer/Xliff20.php 1 patch
Spacing   +68 added lines, -68 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
     /**
21 21
      * @var bool
22 22
      */
23
-    protected bool $unitContainsMda = false;   // check if <unit> already contains a <mda:metadata> (forXliff v 2.*)
23
+    protected bool $unitContainsMda = false; // check if <unit> already contains a <mda:metadata> (forXliff v 2.*)
24 24
 
25 25
     /**
26 26
      * @var string
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
     /**
36 36
      * @var string
37 37
      */
38
-    protected string $namespace = "matecat";       // Custom namespace
38
+    protected string $namespace = "matecat"; // Custom namespace
39 39
 
40 40
     /**
41 41
      * @var array
@@ -51,23 +51,23 @@  discard block
 block discarded – undo
51 51
     /**
52 52
      * @inheritDoc
53 53
      */
54
-    protected function tagOpen( $parser, string $name, array $attr ) {
54
+    protected function tagOpen($parser, string $name, array $attr) {
55 55
 
56
-        $this->handleOpenUnit( $name, $attr );
56
+        $this->handleOpenUnit($name, $attr);
57 57
 
58
-        if ( 'mda:metadata' === $name ) {
58
+        if ('mda:metadata' === $name) {
59 59
             $this->unitContainsMda = true;
60 60
         }
61 61
 
62
-        $this->trySetAltTrans( $name );;
63
-        $this->checkSetInTarget( $name );
62
+        $this->trySetAltTrans($name); ;
63
+        $this->checkSetInTarget($name);
64 64
 
65 65
         // open buffer
66
-        $this->setInBuffer( $name );
66
+        $this->setInBuffer($name);
67 67
 
68 68
         // check if we are inside a <target>, obviously this happen only if there are targets inside the trans-unit
69 69
         // <target> must be stripped to be replaced, so this check avoids <target> reconstruction
70
-        if ( !$this->inTarget ) {
70
+        if (!$this->inTarget) {
71 71
 
72 72
             $tag = '';
73 73
 
@@ -89,48 +89,48 @@  discard block
 block discarded – undo
89 89
             //
90 90
             // http://docs.oasis-open.org/xliff/xliff-core/v2.0/os/xliff-core-v2.0-os.html#unit
91 91
             //
92
-            if ( in_array( $name, [ 'notes', 'originalData', 'segment', 'ignorable' ] ) &&
92
+            if (in_array($name, ['notes', 'originalData', 'segment', 'ignorable']) &&
93 93
                     $this->unitContainsMda === false &&
94
-                    !empty( $this->transUnits[ $this->currentTransUnitId ] ) &&
94
+                    !empty($this->transUnits[$this->currentTransUnitId]) &&
95 95
                     !$this->hasWrittenCounts
96 96
             ) {
97 97
                 // we need to update counts here
98 98
                 $this->updateCounts();
99 99
                 $this->hasWrittenCounts = true;
100
-                $tag                    .= $this->getWordCountGroupForXliffV2();
100
+                $tag .= $this->getWordCountGroupForXliffV2();
101 101
                 $this->unitContainsMda  = true;
102 102
             }
103 103
 
104 104
             // construct tag
105 105
             $tag .= "<$name ";
106 106
 
107
-            foreach ( $attr as $k => $v ) {
107
+            foreach ($attr as $k => $v) {
108 108
                 //normal tag flux, put attributes in it but skip for translation state and set the right value for the attribute
109
-                if ( $k != 'state' ) {
109
+                if ($k != 'state') {
110 110
                     $tag .= "$k=\"$v\" ";
111 111
                 }
112 112
             }
113 113
 
114 114
             $seg = $this->getCurrentSegment();
115 115
 
116
-            if ( $name === $this->tuTagName && !empty( $seg ) && isset( $seg[ 'sid' ] ) ) {
116
+            if ($name === $this->tuTagName && !empty($seg) && isset($seg['sid'])) {
117 117
 
118 118
                 // add `matecat:segment-id` to xliff v.2*
119
-                if ( strpos( $tag, 'matecat:segment-id' ) === false ) {
120
-                    $tag .= "matecat:segment-id=\"{$seg[ 'sid' ]}\" ";
119
+                if (strpos($tag, 'matecat:segment-id') === false) {
120
+                    $tag .= "matecat:segment-id=\"{$seg['sid']}\" ";
121 121
                 }
122 122
 
123 123
             }
124 124
 
125 125
             // replace state for xliff v2
126
-            if ( 'segment' === $name ) { // add state to segment in Xliff v2
127
-                [ $stateProp, ] = StatusToStateAttribute::getState( $this->xliffVersion, $seg[ 'status' ] );
126
+            if ('segment' === $name) { // add state to segment in Xliff v2
127
+                [$stateProp, ] = StatusToStateAttribute::getState($this->xliffVersion, $seg['status']);
128 128
                 $tag .= $stateProp;
129 129
             }
130 130
 
131
-            $tag = $this->handleOpenXliffTag( $name, $attr, $tag );
131
+            $tag = $this->handleOpenXliffTag($name, $attr, $tag);
132 132
 
133
-            $this->checkForSelfClosedTagAndFlush( $parser, $tag );
133
+            $this->checkForSelfClosedTagAndFlush($parser, $tag);
134 134
 
135 135
         }
136 136
 
@@ -143,10 +143,10 @@  discard block
 block discarded – undo
143 143
      *
144 144
      * @return string
145 145
      */
146
-    protected function handleOpenXliffTag( string $name, array $attr, string $tag ): string {
147
-        $tag = parent::handleOpenXliffTag( $name, $attr, $tag );
146
+    protected function handleOpenXliffTag(string $name, array $attr, string $tag): string {
147
+        $tag = parent::handleOpenXliffTag($name, $attr, $tag);
148 148
         // add oasis xliff 20 namespace
149
-        if ( $name === 'xliff' && !array_key_exists( 'xmlns:mda', $attr ) ) {
149
+        if ($name === 'xliff' && !array_key_exists('xmlns:mda', $attr)) {
150 150
             $tag .= 'xmlns:mda="urn:oasis:names:tc:xliff:metadata:2.0"';
151 151
         }
152 152
 
@@ -156,7 +156,7 @@  discard block
 block discarded – undo
156 156
     /**
157 157
      * @inheritDoc
158 158
      */
159
-    protected function tagClose( $parser, string $name ) {
159
+    protected function tagClose($parser, string $name) {
160 160
         $tag = '';
161 161
 
162 162
         /**
@@ -165,39 +165,39 @@  discard block
 block discarded – undo
165 165
          *
166 166
          * self::tagOpen method
167 167
          */
168
-        if ( !$this->isEmpty ) {
168
+        if (!$this->isEmpty) {
169 169
 
170 170
             // write closing tag if is not a target
171 171
             // EXCLUDE the target nodes with currentTransUnitIsTranslatable = 'NO'
172
-            if ( !$this->inTarget and $this->currentTransUnitIsTranslatable !== 'no' ) {
172
+            if (!$this->inTarget and $this->currentTransUnitIsTranslatable !== 'no') {
173 173
                 $tag = "</$name>";
174 174
             }
175 175
 
176
-            if ( 'target' == $name && !$this->inAltTrans ) {
176
+            if ('target' == $name && !$this->inAltTrans) {
177 177
 
178
-                if ( isset( $this->transUnits[ $this->currentTransUnitId ] ) ) {
178
+                if (isset($this->transUnits[$this->currentTransUnitId])) {
179 179
 
180 180
                     $seg = $this->getCurrentSegment();
181 181
 
182 182
                     // update counts
183
-                    if ( !$this->hasWrittenCounts && !empty( $seg ) ) {
184
-                        $this->updateSegmentCounts( $seg );
183
+                    if (!$this->hasWrittenCounts && !empty($seg)) {
184
+                        $this->updateSegmentCounts($seg);
185 185
                     }
186 186
 
187 187
                     // delete translations so the prepareSegment
188 188
                     // will put source content in target tag
189
-                    if ( $this->sourceInTarget ) {
190
-                        $seg[ 'translation' ] = '';
189
+                    if ($this->sourceInTarget) {
190
+                        $seg['translation'] = '';
191 191
                         $this->resetCounts();
192 192
                     }
193 193
 
194 194
                     // append $translation
195
-                    $translation = $this->prepareTranslation( $seg );
195
+                    $translation = $this->prepareTranslation($seg);
196 196
 
197 197
                     //append translation
198 198
                     $tag = "<target>$translation</target>";
199 199
 
200
-                } elseif( !empty($this->CDATABuffer) and $this->currentTransUnitIsTranslatable === 'no' ) {
200
+                } elseif (!empty($this->CDATABuffer) and $this->currentTransUnitIsTranslatable === 'no') {
201 201
 
202 202
                     // These are target nodes with currentTransUnitIsTranslatable = 'NO'
203 203
                     $this->bufferIsActive = false;
@@ -208,22 +208,22 @@  discard block
 block discarded – undo
208 208
                 // signal we are leaving a target
209 209
                 $this->targetWasWritten = true;
210 210
                 $this->inTarget         = false;
211
-                $this->postProcAndFlush( $this->outputFP, $tag, true );
211
+                $this->postProcAndFlush($this->outputFP, $tag, true);
212 212
 
213
-            } elseif ( in_array( $name, $this->nodesToBuffer ) ) { // we are closing a critical CDATA section
213
+            } elseif (in_array($name, $this->nodesToBuffer)) { // we are closing a critical CDATA section
214 214
 
215 215
                 $this->bufferIsActive = false;
216 216
 
217 217
                 // only for Xliff 2.*
218 218
                 // write here <mda:metaGroup> and <mda:meta> if already present in the <unit>
219
-                if ( 'mda:metadata' === $name && $this->unitContainsMda && !$this->hasWrittenCounts ) {
219
+                if ('mda:metadata' === $name && $this->unitContainsMda && !$this->hasWrittenCounts) {
220 220
 
221 221
                     // we need to update counts here
222 222
                     $this->updateCounts();
223 223
                     $this->hasWrittenCounts = true;
224 224
 
225 225
                     $tag = $this->CDATABuffer;
226
-                    $tag .= $this->getWordCountGroupForXliffV2( false );
226
+                    $tag .= $this->getWordCountGroupForXliffV2(false);
227 227
                     $tag .= "    </mda:metadata>";
228 228
 
229 229
                 } else {
@@ -233,19 +233,19 @@  discard block
 block discarded – undo
233 233
                 $this->CDATABuffer = "";
234 234
 
235 235
                 //flush to the pointer
236
-                $this->postProcAndFlush( $this->outputFP, $tag );
236
+                $this->postProcAndFlush($this->outputFP, $tag);
237 237
 
238
-            } elseif ( 'segment' === $name ) {
238
+            } elseif ('segment' === $name) {
239 239
 
240 240
                 // only for Xliff 2.*
241 241
                 // if segment has no <target> add it BEFORE </segment>
242
-                if ( !$this->targetWasWritten ) {
242
+                if (!$this->targetWasWritten) {
243 243
 
244 244
                     $seg = $this->getCurrentSegment();
245 245
 
246
-                    if ( isset( $seg[ 'translation' ] ) ) {
246
+                    if (isset($seg['translation'])) {
247 247
 
248
-                        $translation = $this->prepareTranslation( $seg );
248
+                        $translation = $this->prepareTranslation($seg);
249 249
                         // replace the tag
250 250
                         $tag = "<target>$translation</target>";
251 251
 
@@ -258,19 +258,19 @@  discard block
 block discarded – undo
258 258
                 // update segmentPositionInTu
259 259
                 $this->segmentInUnitPosition++;
260 260
 
261
-                $this->postProcAndFlush( $this->outputFP, $tag );
261
+                $this->postProcAndFlush($this->outputFP, $tag);
262 262
 
263 263
                 // we are leaving <segment>, reset $segmentHasTarget
264 264
                 $this->targetWasWritten = false;
265 265
 
266
-            } elseif ( $this->bufferIsActive ) { // this is a tag ( <g | <mrk ) inside a seg or seg-source tag
266
+            } elseif ($this->bufferIsActive) { // this is a tag ( <g | <mrk ) inside a seg or seg-source tag
267 267
                 $this->CDATABuffer .= "</$name>";
268 268
                 // Do NOT Flush
269 269
             } else { //generic tag closure do Nothing
270 270
                 // flush to pointer
271
-                $this->postProcAndFlush( $this->outputFP, $tag );
271
+                $this->postProcAndFlush($this->outputFP, $tag);
272 272
             }
273
-        } elseif ( in_array( $name, $this->nodesToBuffer ) ) {
273
+        } elseif (in_array($name, $this->nodesToBuffer)) {
274 274
 
275 275
             $this->isEmpty        = false;
276 276
             $this->bufferIsActive = false;
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
             $this->CDATABuffer    = "";
279 279
 
280 280
             //flush to the pointer
281
-            $this->postProcAndFlush( $this->outputFP, $tag );
281
+            $this->postProcAndFlush($this->outputFP, $tag);
282 282
 
283 283
         } else {
284 284
             //ok, nothing to be done; reset flag for next coming tag
@@ -286,10 +286,10 @@  discard block
 block discarded – undo
286 286
         }
287 287
 
288 288
         // try to signal that we are leaving a target
289
-        $this->tryUnsetAltTrans( $name );
289
+        $this->tryUnsetAltTrans($name);
290 290
 
291 291
         // check if we are leaving a <trans-unit> (xliff v1.*) or <unit> (xliff v2.*)
292
-        if ( $this->tuTagName === $name ) {
292
+        if ($this->tuTagName === $name) {
293 293
             $this->currentTransUnitIsTranslatable = null;
294 294
             $this->inTU                           = false;
295 295
             $this->unitContainsMda                = false;
@@ -305,8 +305,8 @@  discard block
 block discarded – undo
305 305
     private function updateCounts() {
306 306
 
307 307
         $seg = $this->getCurrentSegment();
308
-        if ( !empty( $seg ) ) {
309
-            $this->updateSegmentCounts( $seg );
308
+        if (!empty($seg)) {
309
+            $this->updateSegmentCounts($seg);
310 310
         }
311 311
 
312 312
     }
@@ -316,30 +316,30 @@  discard block
 block discarded – undo
316 316
      *
317 317
      * @return string
318 318
      */
319
-    private function getWordCountGroupForXliffV2( bool $withMetadataTag = true ): string {
319
+    private function getWordCountGroupForXliffV2(bool $withMetadataTag = true): string {
320 320
 
321 321
         $this->mdaGroupCounter++;
322
-        $segments_count_array = $this->counts[ 'segments_count_array' ];
322
+        $segments_count_array = $this->counts['segments_count_array'];
323 323
 
324 324
         $tag = '';
325 325
 
326
-        if ( $withMetadataTag === true ) {
326
+        if ($withMetadataTag === true) {
327 327
             $tag .= '<mda:metadata>';
328 328
         }
329 329
 
330 330
         $index = 0;
331
-        foreach ( $segments_count_array as $segments_count_item ) {
331
+        foreach ($segments_count_array as $segments_count_item) {
332 332
 
333 333
             $id = 'word_count_tu.' . $this->currentTransUnitId . '.' . $index;
334 334
             $index++;
335 335
 
336 336
             $tag .= "    <mda:metaGroup id=\"" . $id . "\" category=\"row_xml_attribute\">
337
-                                <mda:meta type=\"x-matecat-raw\">" . $segments_count_item[ 'raw_word_count' ] . "</mda:meta>
338
-                                <mda:meta type=\"x-matecat-weighted\">" . $segments_count_item[ 'eq_word_count' ] . "</mda:meta>
337
+                                <mda:meta type=\"x-matecat-raw\">" . $segments_count_item['raw_word_count'] . "</mda:meta>
338
+                                <mda:meta type=\"x-matecat-weighted\">" . $segments_count_item['eq_word_count'] . "</mda:meta>
339 339
                             </mda:metaGroup>";
340 340
         }
341 341
 
342
-        if ( $withMetadataTag === true ) {
342
+        if ($withMetadataTag === true) {
343 343
             $tag .= '</mda:metadata>';
344 344
         }
345 345
 
@@ -354,18 +354,18 @@  discard block
 block discarded – undo
354 354
      *
355 355
      * @return string
356 356
      */
357
-    protected function prepareTranslation( array $seg ): string {
357
+    protected function prepareTranslation(array $seg): string {
358 358
 
359
-        $segment     = Strings::removeDangerousChars( $seg [ 'segment' ] );
360
-        $translation = Strings::removeDangerousChars( $seg [ 'translation' ] );
361
-        $dataRefMap  = ( isset( $seg[ 'data_ref_map' ] ) ) ? Strings::jsonToArray( $seg[ 'data_ref_map' ] ) : [];
359
+        $segment     = Strings::removeDangerousChars($seg ['segment']);
360
+        $translation = Strings::removeDangerousChars($seg ['translation']);
361
+        $dataRefMap  = (isset($seg['data_ref_map'])) ? Strings::jsonToArray($seg['data_ref_map']) : [];
362 362
 
363
-        if ( $seg [ 'translation' ] == '' ) {
363
+        if ($seg ['translation'] == '') {
364 364
             $translation = $segment;
365 365
         } else {
366
-            if ( $this->callback instanceof XliffReplacerCallbackInterface ) {
367
-                $error = ( !empty( $seg[ 'error' ] ) ) ? $seg[ 'error' ] : null;
368
-                if ( $this->callback->thereAreErrors( $seg[ 'sid' ], $segment, $translation, $dataRefMap, $error ) ) {
366
+            if ($this->callback instanceof XliffReplacerCallbackInterface) {
367
+                $error = (!empty($seg['error'])) ? $seg['error'] : null;
368
+                if ($this->callback->thereAreErrors($seg['sid'], $segment, $translation, $dataRefMap, $error)) {
369 369
                     $translation = '|||UNTRANSLATED_CONTENT_START|||' . $segment . '|||UNTRANSLATED_CONTENT_END|||';
370 370
                 }
371 371
             }
Please login to merge, or discard this patch.
src/XliffReplacer/Xliff12.php 1 patch
Spacing   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -36,34 +36,34 @@  discard block
 block discarded – undo
36 36
     /**
37 37
      * @var string
38 38
      */
39
-    protected string $namespace = "mtc";       // Custom namespace
39
+    protected string $namespace = "mtc"; // Custom namespace
40 40
 
41 41
     /**
42 42
      * @inheritDoc
43 43
      */
44
-    protected function tagOpen( $parser, string $name, array $attr ) {
44
+    protected function tagOpen($parser, string $name, array $attr) {
45 45
 
46
-        $this->handleOpenUnit( $name, $attr );
46
+        $this->handleOpenUnit($name, $attr);
47 47
 
48
-        $this->trySetAltTrans( $name );;
49
-        $this->checkSetInTarget( $name );
48
+        $this->trySetAltTrans($name); ;
49
+        $this->checkSetInTarget($name);
50 50
 
51 51
         // open buffer
52
-        $this->setInBuffer( $name );
52
+        $this->setInBuffer($name);
53 53
 
54 54
         // check if we are inside a <target>, obviously this happen only if there are targets inside the trans-unit
55 55
         // <target> must be stripped to be replaced, so this check avoids <target> reconstruction
56
-        if ( !$this->inTarget ) {
56
+        if (!$this->inTarget) {
57 57
 
58 58
             $tag = '';
59 59
 
60 60
             // construct tag
61 61
             $tag .= "<$name ";
62 62
 
63
-            foreach ( $attr as $k => $v ) {
63
+            foreach ($attr as $k => $v) {
64 64
 
65 65
                 //if tag name is file, we must replace the target-language attribute
66
-                if ( $name === 'file' && $k === 'target-language' && !empty( $this->targetLang ) ) {
66
+                if ($name === 'file' && $k === 'target-language' && !empty($this->targetLang)) {
67 67
                     //replace Target language with job language provided from constructor
68 68
                     $tag .= "$k=\"$this->targetLang\" ";
69 69
                 } else {
@@ -74,20 +74,20 @@  discard block
 block discarded – undo
74 74
 
75 75
             $seg = $this->getCurrentSegment();
76 76
 
77
-            if ( $name === $this->tuTagName && !empty( $seg ) && isset( $seg[ 'sid' ] ) ) {
77
+            if ($name === $this->tuTagName && !empty($seg) && isset($seg['sid'])) {
78 78
 
79 79
                 // add `help-id` to xliff v.1*
80
-                if ( strpos( $tag, 'help-id' ) === false ) {
81
-                    if ( !empty( $seg[ 'sid' ] ) ) {
82
-                        $tag .= "help-id=\"{$seg[ 'sid' ]}\" ";
80
+                if (strpos($tag, 'help-id') === false) {
81
+                    if (!empty($seg['sid'])) {
82
+                        $tag .= "help-id=\"{$seg['sid']}\" ";
83 83
                     }
84 84
                 }
85 85
 
86 86
             }
87 87
 
88
-            $tag = $this->handleOpenXliffTag( $name, $attr, $tag );
88
+            $tag = $this->handleOpenXliffTag($name, $attr, $tag);
89 89
 
90
-            $this->checkForSelfClosedTagAndFlush( $parser, $tag );
90
+            $this->checkForSelfClosedTagAndFlush($parser, $tag);
91 91
 
92 92
         }
93 93
 
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
     /**
98 98
      * @inheritDoc
99 99
      */
100
-    protected function tagClose( $parser, string $name ) {
100
+    protected function tagClose($parser, string $name) {
101 101
         $tag = '';
102 102
 
103 103
         /**
@@ -106,23 +106,23 @@  discard block
 block discarded – undo
106 106
          *
107 107
          * self::tagOpen method
108 108
          */
109
-        if ( !$this->isEmpty ) {
109
+        if (!$this->isEmpty) {
110 110
 
111 111
             // write closing tag if is not a target
112 112
             // EXCLUDE the target nodes with currentTransUnitIsTranslatable = 'NO'
113
-            if ( !$this->inTarget and $this->currentTransUnitIsTranslatable !== 'no' ) {
113
+            if (!$this->inTarget and $this->currentTransUnitIsTranslatable !== 'no') {
114 114
                 $tag = "</$name>";
115 115
             }
116 116
 
117
-            if ( 'target' == $name && !$this->inAltTrans ) {
117
+            if ('target' == $name && !$this->inAltTrans) {
118 118
 
119
-                if ( isset( $this->transUnits[ $this->currentTransUnitId ] ) ) {
119
+                if (isset($this->transUnits[$this->currentTransUnitId])) {
120 120
 
121 121
                     // get translation of current segment, by indirect indexing: id -> positional index -> segment
122 122
                     // actually there may be more than one segment to that ID if there are two mrk of the same source segment
123 123
                     $tag = $this->rebuildTarget();
124 124
 
125
-                } elseif( !empty($this->CDATABuffer) and $this->currentTransUnitIsTranslatable === 'no' ) {
125
+                } elseif (!empty($this->CDATABuffer) and $this->currentTransUnitIsTranslatable === 'no') {
126 126
 
127 127
                     // These are target nodes with currentTransUnitIsTranslatable = 'NO'
128 128
                     $this->bufferIsActive = false;
@@ -133,45 +133,45 @@  discard block
 block discarded – undo
133 133
                 $this->targetWasWritten = true;
134 134
                 // signal we are leaving a target
135 135
                 $this->inTarget = false;
136
-                $this->postProcAndFlush( $this->outputFP, $tag, true );
136
+                $this->postProcAndFlush($this->outputFP, $tag, true);
137 137
 
138
-            } elseif ( in_array( $name, $this->nodesToBuffer ) ) { // we are closing a critical CDATA section
138
+            } elseif (in_array($name, $this->nodesToBuffer)) { // we are closing a critical CDATA section
139 139
 
140 140
                 $this->bufferIsActive = false;
141 141
                 $tag                  = $this->CDATABuffer . "</$name>";
142 142
                 $this->CDATABuffer    = "";
143 143
 
144 144
                 //flush to the pointer
145
-                $this->postProcAndFlush( $this->outputFP, $tag );
145
+                $this->postProcAndFlush($this->outputFP, $tag);
146 146
 
147
-            } elseif ( $name === $this->tuTagName ) {
147
+            } elseif ($name === $this->tuTagName) {
148 148
 
149 149
                 $tag = "";
150 150
 
151 151
                 // handling </trans-unit> closure
152
-                if ( !$this->targetWasWritten ) {
152
+                if (!$this->targetWasWritten) {
153 153
 
154
-                    if ( isset( $this->transUnits[ $this->currentTransUnitId ] ) ) {
154
+                    if (isset($this->transUnits[$this->currentTransUnitId])) {
155 155
                         $tag = $this->rebuildTarget();
156 156
                     } else {
157
-                        $tag = $this->createTargetTag( "", "" );
157
+                        $tag = $this->createTargetTag("", "");
158 158
                     }
159 159
 
160 160
                 }
161 161
 
162
-                $tag                    .= "</$this->tuTagName>";
162
+                $tag .= "</$this->tuTagName>";
163 163
                 $this->targetWasWritten = false;
164
-                $this->postProcAndFlush( $this->outputFP, $tag );
164
+                $this->postProcAndFlush($this->outputFP, $tag);
165 165
 
166
-            } elseif ( $this->bufferIsActive ) { // this is a tag ( <g | <mrk ) inside a seg or seg-source tag
166
+            } elseif ($this->bufferIsActive) { // this is a tag ( <g | <mrk ) inside a seg or seg-source tag
167 167
                 $this->CDATABuffer .= "</$name>";
168 168
                 // Do NOT Flush
169 169
             } else { //generic tag closure do Nothing
170 170
                 // flush to pointer
171
-                $this->postProcAndFlush( $this->outputFP, $tag );
171
+                $this->postProcAndFlush($this->outputFP, $tag);
172 172
             }
173 173
 
174
-        } elseif ( in_array( $name, $this->nodesToBuffer ) ) {
174
+        } elseif (in_array($name, $this->nodesToBuffer)) {
175 175
 
176 176
             $this->isEmpty        = false;
177 177
             $this->bufferIsActive = false;
@@ -179,7 +179,7 @@  discard block
 block discarded – undo
179 179
             $this->CDATABuffer    = "";
180 180
 
181 181
             //flush to the pointer
182
-            $this->postProcAndFlush( $this->outputFP, $tag );
182
+            $this->postProcAndFlush($this->outputFP, $tag);
183 183
 
184 184
         } else {
185 185
             //ok, nothing to be done; reset flag for next coming tag
@@ -187,10 +187,10 @@  discard block
 block discarded – undo
187 187
         }
188 188
 
189 189
         // try to signal that we are leaving a target
190
-        $this->tryUnsetAltTrans( $name );
190
+        $this->tryUnsetAltTrans($name);
191 191
 
192 192
         // check if we are leaving a <trans-unit> (xliff v1.*) or <unit> (xliff v2.*)
193
-        if ( $this->tuTagName === $name ) {
193
+        if ($this->tuTagName === $name) {
194 194
             $this->currentTransUnitIsTranslatable = null;
195 195
             $this->inTU                           = false;
196 196
             $this->hasWrittenCounts               = false;
@@ -207,31 +207,31 @@  discard block
 block discarded – undo
207 207
      *
208 208
      * @return string
209 209
      */
210
-    protected function prepareTranslation( array $seg, string $transUnitTranslation = "" ): string {
210
+    protected function prepareTranslation(array $seg, string $transUnitTranslation = ""): string {
211 211
 
212
-        $segment     = Strings::removeDangerousChars( $seg [ 'segment' ] );
213
-        $translation = Strings::removeDangerousChars( $seg [ 'translation' ] );
212
+        $segment     = Strings::removeDangerousChars($seg ['segment']);
213
+        $translation = Strings::removeDangerousChars($seg ['translation']);
214 214
 
215
-        if ( $seg [ 'translation' ] == '' ) {
215
+        if ($seg ['translation'] == '') {
216 216
             $translation = $segment;
217 217
         } else {
218
-            if ( $this->callback instanceof XliffReplacerCallbackInterface ) {
219
-                $error = ( !empty( $seg[ 'error' ] ) ) ? $seg[ 'error' ] : null;
220
-                if ( $this->callback->thereAreErrors( $seg[ 'sid' ], $segment, $translation, [], $error ) ) {
218
+            if ($this->callback instanceof XliffReplacerCallbackInterface) {
219
+                $error = (!empty($seg['error'])) ? $seg['error'] : null;
220
+                if ($this->callback->thereAreErrors($seg['sid'], $segment, $translation, [], $error)) {
221 221
                     $translation = '|||UNTRANSLATED_CONTENT_START|||' . $segment . '|||UNTRANSLATED_CONTENT_END|||';
222 222
                 }
223 223
             }
224 224
         }
225 225
 
226
-        $transUnitTranslation .= $seg[ 'prev_tags' ] . $this->rebuildMarks( $seg, $translation ) . ltrim( $seg[ 'succ_tags' ] );
226
+        $transUnitTranslation .= $seg['prev_tags'] . $this->rebuildMarks($seg, $translation) . ltrim($seg['succ_tags']);
227 227
 
228 228
         return $transUnitTranslation;
229 229
     }
230 230
 
231
-    protected function rebuildMarks( array $seg, string $translation ): string {
231
+    protected function rebuildMarks(array $seg, string $translation): string {
232 232
 
233
-        if ( $seg[ 'mrk_id' ] !== null && $seg[ 'mrk_id' ] != '' ) {
234
-            $translation = "<mrk mid=\"" . $seg[ 'mrk_id' ] . "\" mtype=\"seg\">" . $seg[ 'mrk_prev_tags' ] . $translation . $seg[ 'mrk_succ_tags' ] . "</mrk>";
233
+        if ($seg['mrk_id'] !== null && $seg['mrk_id'] != '') {
234
+            $translation = "<mrk mid=\"" . $seg['mrk_id'] . "\" mtype=\"seg\">" . $seg['mrk_prev_tags'] . $translation . $seg['mrk_succ_tags'] . "</mrk>";
235 235
         }
236 236
 
237 237
         return $translation;
@@ -246,10 +246,10 @@  discard block
 block discarded – undo
246 246
      *
247 247
      * @return string
248 248
      */
249
-    protected function createTargetTag( string $translation, string $stateProp ): string {
249
+    protected function createTargetTag(string $translation, string $stateProp): string {
250 250
         $targetLang = ' xml:lang="' . $this->targetLang . '"';
251 251
         $tag        = "<target $targetLang $stateProp>$translation</target>";
252
-        $tag        .= "\n<count-group name=\"$this->currentTransUnitId\"><count count-type=\"x-matecat-raw\">" . $this->counts[ 'raw_word_count' ] . "</count><count count-type=\"x-matecat-weighted\">" . $this->counts[ 'eq_word_count' ] . '</count></count-group>';
252
+        $tag .= "\n<count-group name=\"$this->currentTransUnitId\"><count count-type=\"x-matecat-raw\">" . $this->counts['raw_word_count'] . "</count><count count-type=\"x-matecat-weighted\">" . $this->counts['eq_word_count'] . '</count></count-group>';
253 253
 
254 254
         return $tag;
255 255
 
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
         // we must reset the lastMrkId found because this is a new segment.
266 266
         $lastMrkId = -1;
267 267
 
268
-        foreach ( $this->lastTransUnit as $pos => $seg ) {
268
+        foreach ($this->lastTransUnit as $pos => $seg) {
269 269
 
270 270
             /*
271 271
              * This routine works to respect the positional orders of markers.
@@ -278,8 +278,8 @@  discard block
 block discarded – undo
278 278
              * pre-assign zero to the new mrk if this is the first one ( in this segment )
279 279
              * If it is null leave it NULL
280 280
              */
281
-            if ( (int)$seg[ "mrk_id" ] < 0 && $seg[ "mrk_id" ] !== null ) {
282
-                $seg[ "mrk_id" ] = 0;
281
+            if ((int)$seg["mrk_id"] < 0 && $seg["mrk_id"] !== null) {
282
+                $seg["mrk_id"] = 0;
283 283
             }
284 284
 
285 285
             /*
@@ -288,39 +288,39 @@  discard block
 block discarded – undo
288 288
              * ( null <= -1 ) === true
289 289
              * so, cast to int
290 290
              */
291
-            if ( (int)$seg[ "mrk_id" ] <= $lastMrkId ) {
291
+            if ((int)$seg["mrk_id"] <= $lastMrkId) {
292 292
                 break;
293 293
             }
294 294
 
295 295
             // update counts
296
-            if ( !empty( $seg ) ) {
297
-                $this->updateSegmentCounts( $seg );
296
+            if (!empty($seg)) {
297
+                $this->updateSegmentCounts($seg);
298 298
             }
299 299
 
300 300
             // delete translations so the prepareSegment
301 301
             // will put source content in target tag
302
-            if ( $this->sourceInTarget ) {
303
-                $seg[ 'translation' ] = '';
302
+            if ($this->sourceInTarget) {
303
+                $seg['translation'] = '';
304 304
                 $this->resetCounts();
305 305
             }
306 306
 
307 307
             // append $translation
308
-            $translation = $this->prepareTranslation( $seg, $translation );
308
+            $translation = $this->prepareTranslation($seg, $translation);
309 309
 
310
-            $lastMrkId = $seg[ "mrk_id" ];
310
+            $lastMrkId = $seg["mrk_id"];
311 311
 
312
-            [ $stateProp, $lastMrkState ] = StatusToStateAttribute::getState( $this->xliffVersion, $seg[ 'status' ], $lastMrkState );
312
+            [$stateProp, $lastMrkState] = StatusToStateAttribute::getState($this->xliffVersion, $seg['status'], $lastMrkState);
313 313
 
314 314
         }
315 315
 
316 316
         //append translation
317
-        return $this->createTargetTag( $translation, $stateProp );
317
+        return $this->createTargetTag($translation, $stateProp);
318 318
 
319 319
     }
320 320
 
321 321
     protected function getCurrentSegment(): array {
322
-        if ( $this->currentTransUnitIsTranslatable !== 'no' && isset( $this->transUnits[ $this->currentTransUnitId ] ) ) {
323
-            return $this->segments[ $this->transUnits[ $this->currentTransUnitId ][ 0 ] ]; // TODO try to understand why here is needed to override the method and set 0 index hardcoded
322
+        if ($this->currentTransUnitIsTranslatable !== 'no' && isset($this->transUnits[$this->currentTransUnitId])) {
323
+            return $this->segments[$this->transUnits[$this->currentTransUnitId][0]]; // TODO try to understand why here is needed to override the method and set 0 index hardcoded
324 324
         }
325 325
 
326 326
         return [];
Please login to merge, or discard this patch.
src/XliffParser/XliffParserV2.php 1 patch
Spacing   +136 added lines, -136 removed lines patch added patch discarded remove patch
@@ -16,30 +16,30 @@  discard block
 block discarded – undo
16 16
      * @inheritDoc
17 17
      * @throws Exception
18 18
      */
19
-    public function parse( DOMDocument $dom, ?array $output = [] ): array {
19
+    public function parse(DOMDocument $dom, ?array $output = []): array {
20 20
         $i = 1;
21 21
         /** @var DOMElement $file */
22
-        foreach ( $dom->getElementsByTagName( 'file' ) as $file ) {
22
+        foreach ($dom->getElementsByTagName('file') as $file) {
23 23
 
24 24
             // metadata
25
-            $output[ 'files' ][ $i ][ 'attr' ] = $this->extractMetadata( $dom );
25
+            $output['files'][$i]['attr'] = $this->extractMetadata($dom);
26 26
 
27 27
             // notes
28
-            $output[ 'files' ][ $i ][ 'notes' ] = $this->extractNotes( $file );
28
+            $output['files'][$i]['notes'] = $this->extractNotes($file);
29 29
 
30 30
             // trans-units
31 31
             $transUnitIdArrayForUniquenessCheck = [];
32 32
             $j                                  = 1;
33 33
             /** @var DOMElement $transUnit */
34
-            foreach ( $file->childNodes as $childNode ) {
35
-                $this->extractTuFromNode( $childNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j );
34
+            foreach ($file->childNodes as $childNode) {
35
+                $this->extractTuFromNode($childNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j);
36 36
             }
37 37
 
38 38
             // trans-unit re-count check
39
-            $totalTransUnitsId  = count( $transUnitIdArrayForUniquenessCheck );
40
-            $transUnitsUniqueId = count( array_unique( $transUnitIdArrayForUniquenessCheck ) );
41
-            if ( $totalTransUnitsId != $transUnitsUniqueId ) {
42
-                throw new DuplicateTransUnitIdInXliff( "Invalid trans-unit id, duplicate found.", 400 );
39
+            $totalTransUnitsId  = count($transUnitIdArrayForUniquenessCheck);
40
+            $transUnitsUniqueId = count(array_unique($transUnitIdArrayForUniquenessCheck));
41
+            if ($totalTransUnitsId != $transUnitsUniqueId) {
42
+                throw new DuplicateTransUnitIdInXliff("Invalid trans-unit id, duplicate found.", 400);
43 43
             }
44 44
 
45 45
             $i++;
@@ -53,23 +53,23 @@  discard block
 block discarded – undo
53 53
      *
54 54
      * @return array
55 55
      */
56
-    private function extractMetadata( DOMDocument $dom ): array {
56
+    private function extractMetadata(DOMDocument $dom): array {
57 57
         $metadata = [];
58 58
 
59
-        $xliffNode = $dom->getElementsByTagName( 'xliff' )->item( 0 );
60
-        $fileNode  = $dom->getElementsByTagName( 'file' )->item( 0 );
59
+        $xliffNode = $dom->getElementsByTagName('xliff')->item(0);
60
+        $fileNode  = $dom->getElementsByTagName('file')->item(0);
61 61
 
62 62
         // original
63
-        $metadata[ 'original' ] = ( null !== $fileNode->attributes->getNamedItem( 'original' ) ) ? $fileNode->attributes->getNamedItem( 'original' )->nodeValue : 'no-name';
63
+        $metadata['original'] = (null !== $fileNode->attributes->getNamedItem('original')) ? $fileNode->attributes->getNamedItem('original')->nodeValue : 'no-name';
64 64
 
65 65
         // source-language
66
-        $metadata[ 'source-language' ] = ( null !== $xliffNode->attributes->getNamedItem( 'srcLang' ) ) ? $xliffNode->attributes->getNamedItem( 'srcLang' )->nodeValue : 'en-US';
66
+        $metadata['source-language'] = (null !== $xliffNode->attributes->getNamedItem('srcLang')) ? $xliffNode->attributes->getNamedItem('srcLang')->nodeValue : 'en-US';
67 67
 
68 68
         // datatype
69 69
         // @TODO to be implemented
70 70
 
71 71
         // target-language
72
-        $metadata[ 'target-language' ] = ( null !== $xliffNode->attributes->getNamedItem( 'trgLang' ) ) ? $xliffNode->attributes->getNamedItem( 'trgLang' )->nodeValue : 'en-US';
72
+        $metadata['target-language'] = (null !== $xliffNode->attributes->getNamedItem('trgLang')) ? $xliffNode->attributes->getNamedItem('trgLang')->nodeValue : 'en-US';
73 73
 
74 74
         // custom MateCat x-attribute
75 75
         // @TODO to be implemented
@@ -83,16 +83,16 @@  discard block
 block discarded – undo
83 83
      * @return array
84 84
      * @throws Exception
85 85
      */
86
-    private function extractNotes( DOMElement $file ): array {
86
+    private function extractNotes(DOMElement $file): array {
87 87
         $notes = [];
88 88
 
89 89
         // loop <notes> to get nested <note> tag
90
-        foreach ( $file->childNodes as $childNode ) {
91
-            if ( $childNode->nodeName === 'notes' ) {
92
-                foreach ( $childNode->childNodes as $note ) {
93
-                    $noteValue = trim( $note->nodeValue );
94
-                    if ( '' !== $noteValue ) {
95
-                        $notes[] = $this->JSONOrRawContentArray( $noteValue );
90
+        foreach ($file->childNodes as $childNode) {
91
+            if ($childNode->nodeName === 'notes') {
92
+                foreach ($childNode->childNodes as $note) {
93
+                    $noteValue = trim($note->nodeValue);
94
+                    if ('' !== $noteValue) {
95
+                        $notes[] = $this->JSONOrRawContentArray($noteValue);
96 96
                     }
97 97
                 }
98 98
             }
@@ -114,32 +114,32 @@  discard block
 block discarded – undo
114 114
      *
115 115
      * @throws Exception
116 116
      */
117
-    protected function extractTransUnit( DOMElement $transUnit, array &$transUnitIdArrayForUniquenessCheck, DomDocument $dom, array &$output, int &$i, int &$j, ?array $contextGroups = [] ) {
117
+    protected function extractTransUnit(DOMElement $transUnit, array &$transUnitIdArrayForUniquenessCheck, DomDocument $dom, array &$output, int &$i, int &$j, ?array $contextGroups = []) {
118 118
         // metadata
119
-        $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'attr' ] = $this->extractTransUnitMetadata( $transUnit, $transUnitIdArrayForUniquenessCheck );
119
+        $output['files'][$i]['trans-units'][$j]['attr'] = $this->extractTransUnitMetadata($transUnit, $transUnitIdArrayForUniquenessCheck);
120 120
 
121 121
         // notes
122 122
         // merge <notes> with key and key-note contained in metadata <mda:metaGroup>
123
-        $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'notes' ] = $this->extractTransUnitNotes( $transUnit );
123
+        $output['files'][$i]['trans-units'][$j]['notes'] = $this->extractTransUnitNotes($transUnit);
124 124
 
125 125
         // uuid
126
-        foreach ( $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'notes' ] as $note ) {
127
-            if ( isset( $note[ 'raw-content' ] ) && Strings::isAValidUuid( $note[ 'raw-content' ] ) ) {
128
-                $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'attr' ][ 'uuid' ] = $note[ 'raw-content' ];
126
+        foreach ($output['files'][$i]['trans-units'][$j]['notes'] as $note) {
127
+            if (isset($note['raw-content']) && Strings::isAValidUuid($note['raw-content'])) {
128
+                $output['files'][$i]['trans-units'][$j]['attr']['uuid'] = $note['raw-content'];
129 129
             }
130 130
         }
131 131
 
132 132
         // original-data (exclusive for V2)
133 133
         // http://docs.oasis-open.org/xliff/xliff-core/v2.0/xliff-core-v2.0.html#originaldata
134
-        $originalData = $this->extractTransUnitOriginalData( $transUnit );
135
-        if ( !empty( $originalData ) ) {
136
-            $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'original-data' ] = $originalData;
134
+        $originalData = $this->extractTransUnitOriginalData($transUnit);
135
+        if (!empty($originalData)) {
136
+            $output['files'][$i]['trans-units'][$j]['original-data'] = $originalData;
137 137
         }
138 138
 
139 139
         // additionalTagData (exclusive for V2)
140
-        $additionalTagData = $this->extractTransUnitAdditionalTagData( $transUnit );
141
-        if ( !empty( $additionalTagData ) ) {
142
-            $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'additional-tag-data' ] = $additionalTagData;
140
+        $additionalTagData = $this->extractTransUnitAdditionalTagData($transUnit);
141
+        if (!empty($additionalTagData)) {
142
+            $output['files'][$i]['trans-units'][$j]['additional-tag-data'] = $additionalTagData;
143 143
         }
144 144
 
145 145
         // content
@@ -159,54 +159,54 @@  discard block
 block discarded – undo
159 159
 
160 160
         /** @var DOMElement $segment */
161 161
         $c = 0;
162
-        foreach ( $transUnit->childNodes as $segment ) {
163
-            if ( $segment->nodeName === 'segment' ) {
162
+        foreach ($transUnit->childNodes as $segment) {
163
+            if ($segment->nodeName === 'segment') {
164 164
 
165 165
                 // check segment id consistency
166
-                $attr = $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'attr' ];
167
-                $this->checkSegmentIdConsistency( $segment, $attr );
166
+                $attr = $output['files'][$i]['trans-units'][$j]['attr'];
167
+                $this->checkSegmentIdConsistency($segment, $attr);
168 168
 
169 169
                 // loop <segment> to get nested <source> and <target> tag
170
-                foreach ( $segment->childNodes as $childNode ) {
171
-                    if ( $childNode->nodeName === 'source' ) {
172
-                        $extractedSource               = $this->extractContent( $dom, $childNode );
173
-                        $source[ 'raw-content' ][ $c ] = $extractedSource[ 'raw-content' ];
170
+                foreach ($segment->childNodes as $childNode) {
171
+                    if ($childNode->nodeName === 'source') {
172
+                        $extractedSource               = $this->extractContent($dom, $childNode);
173
+                        $source['raw-content'][$c] = $extractedSource['raw-content'];
174 174
 
175
-                        if ( !empty( $extractedSource[ 'attr' ] ) ) {
176
-                            $source[ 'attr' ][ $c ] = $extractedSource[ 'attr' ];
175
+                        if (!empty($extractedSource['attr'])) {
176
+                            $source['attr'][$c] = $extractedSource['attr'];
177 177
                         }
178 178
 
179 179
                         // append value to 'seg-source'
180
-                        if ( $this->stringContainsMarks( $extractedSource[ 'raw-content' ] ) ) {
181
-                            $segSource = $this->extractContentWithMarksAndExtTags( $dom, $childNode );
180
+                        if ($this->stringContainsMarks($extractedSource['raw-content'])) {
181
+                            $segSource = $this->extractContentWithMarksAndExtTags($dom, $childNode);
182 182
                         } else {
183 183
                             $segSource[] = [
184
-                                    'attr'          => $this->extractTagAttributes( $segment ),
185
-                                    'mid'           => count( $segSource ) > 0 ? count( $segSource ) : 0,
184
+                                    'attr'          => $this->extractTagAttributes($segment),
185
+                                    'mid'           => count($segSource) > 0 ? count($segSource) : 0,
186 186
                                     'ext-prec-tags' => '',
187
-                                    'raw-content'   => $extractedSource[ 'raw-content' ],
187
+                                    'raw-content'   => $extractedSource['raw-content'],
188 188
                                     'ext-succ-tags' => '',
189 189
                             ];
190 190
                         }
191 191
                     }
192 192
 
193
-                    if ( $childNode->nodeName === 'target' ) {
194
-                        $extractedTarget               = $this->extractContent( $dom, $childNode );
195
-                        $target[ 'raw-content' ][ $c ] = $extractedTarget[ 'raw-content' ];
193
+                    if ($childNode->nodeName === 'target') {
194
+                        $extractedTarget               = $this->extractContent($dom, $childNode);
195
+                        $target['raw-content'][$c] = $extractedTarget['raw-content'];
196 196
 
197
-                        if ( !empty( $extractedTarget[ 'attr' ] ) ) {
198
-                            $target[ 'attr' ][ $c ] = $extractedTarget[ 'attr' ];
197
+                        if (!empty($extractedTarget['attr'])) {
198
+                            $target['attr'][$c] = $extractedTarget['attr'];
199 199
                         }
200 200
 
201 201
                         // append value to 'seg-target'
202
-                        if ( $this->stringContainsMarks( $extractedTarget[ 'raw-content' ] ) ) {
203
-                            $segTarget = $this->extractContentWithMarksAndExtTags( $dom, $childNode );
202
+                        if ($this->stringContainsMarks($extractedTarget['raw-content'])) {
203
+                            $segTarget = $this->extractContentWithMarksAndExtTags($dom, $childNode);
204 204
                         } else {
205 205
                             $segTarget[] = [
206
-                                    'attr'          => $this->extractTagAttributes( $segment ),
207
-                                    'mid'           => count( $segTarget ) > 0 ? count( $segTarget ) : 0,
206
+                                    'attr'          => $this->extractTagAttributes($segment),
207
+                                    'mid'           => count($segTarget) > 0 ? count($segTarget) : 0,
208 208
                                     'ext-prec-tags' => '',
209
-                                    'raw-content'   => $extractedTarget[ 'raw-content' ],
209
+                                    'raw-content'   => $extractedTarget['raw-content'],
210 210
                                     'ext-succ-tags' => '',
211 211
                             ];
212 212
                         }
@@ -217,10 +217,10 @@  discard block
 block discarded – undo
217 217
             }
218 218
         }
219 219
 
220
-        $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'source' ]     = $source;
221
-        $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'target' ]     = $target;
222
-        $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'seg-source' ] = $segSource;
223
-        $output[ 'files' ][ $i ][ 'trans-units' ][ $j ][ 'seg-target' ] = $segTarget;
220
+        $output['files'][$i]['trans-units'][$j]['source']     = $source;
221
+        $output['files'][$i]['trans-units'][$j]['target']     = $target;
222
+        $output['files'][$i]['trans-units'][$j]['seg-source'] = $segSource;
223
+        $output['files'][$i]['trans-units'][$j]['seg-target'] = $segTarget;
224 224
 
225 225
         $j++;
226 226
     }
@@ -231,46 +231,46 @@  discard block
 block discarded – undo
231 231
      *
232 232
      * @return array
233 233
      */
234
-    private function extractTransUnitMetadata( DOMElement $transUnit, ?array &$transUnitIdArrayForUniquenessCheck = [] ): array {
234
+    private function extractTransUnitMetadata(DOMElement $transUnit, ?array &$transUnitIdArrayForUniquenessCheck = []): array {
235 235
         $metadata = [];
236 236
 
237 237
         // id
238
-        if ( null === $transUnit->attributes->getNamedItem( 'id' ) ) {
239
-            throw new NotFoundIdInTransUnit( 'Invalid trans-unit id found. EMPTY value', 400 );
238
+        if (null === $transUnit->attributes->getNamedItem('id')) {
239
+            throw new NotFoundIdInTransUnit('Invalid trans-unit id found. EMPTY value', 400);
240 240
         }
241 241
 
242
-        $id = $transUnit->attributes->getNamedItem( 'id' )->nodeValue;
242
+        $id = $transUnit->attributes->getNamedItem('id')->nodeValue;
243 243
 
244
-        if ( strlen( $id ) > 100 ) {
245
-            throw new SegmentIdTooLongException( 'Segment-id too long. Max 100 characters allowed', 400 );
244
+        if (strlen($id) > 100) {
245
+            throw new SegmentIdTooLongException('Segment-id too long. Max 100 characters allowed', 400);
246 246
         }
247 247
 
248 248
         $transUnitIdArrayForUniquenessCheck[] = $id;
249
-        $metadata[ 'id' ]                     = $id;
249
+        $metadata['id']                     = $id;
250 250
 
251 251
         // name
252
-        if ( null !== $transUnit->attributes->getNamedItem( 'name' ) ) {
253
-            $metadata[ 'name' ] = $transUnit->attributes->getNamedItem( 'name' )->nodeValue;
252
+        if (null !== $transUnit->attributes->getNamedItem('name')) {
253
+            $metadata['name'] = $transUnit->attributes->getNamedItem('name')->nodeValue;
254 254
         }
255 255
         
256 256
         // translate
257
-        if ( null !== $transUnit->attributes->getNamedItem( 'translate' ) ) {
258
-            $metadata[ 'translate' ] = $transUnit->attributes->getNamedItem( 'translate' )->nodeValue;
257
+        if (null !== $transUnit->attributes->getNamedItem('translate')) {
258
+            $metadata['translate'] = $transUnit->attributes->getNamedItem('translate')->nodeValue;
259 259
         }
260 260
 
261 261
         // tGroupBegin
262
-        if ( null !== $transUnit->attributes->getNamedItem( 'tGroupBegin' ) ) {
263
-            $metadata[ 'tGroupBegin' ] = $transUnit->attributes->getNamedItem( 'tGroupBegin' )->nodeValue;
262
+        if (null !== $transUnit->attributes->getNamedItem('tGroupBegin')) {
263
+            $metadata['tGroupBegin'] = $transUnit->attributes->getNamedItem('tGroupBegin')->nodeValue;
264 264
         }
265 265
 
266 266
         // tGroupEnd
267
-        if ( null !== $transUnit->attributes->getNamedItem( 'tGroupEnd' ) ) {
268
-            $metadata[ 'tGroupEnd' ] = $transUnit->attributes->getNamedItem( 'tGroupEnd' )->nodeValue;
267
+        if (null !== $transUnit->attributes->getNamedItem('tGroupEnd')) {
268
+            $metadata['tGroupEnd'] = $transUnit->attributes->getNamedItem('tGroupEnd')->nodeValue;
269 269
         }
270 270
 
271 271
         // sizeRestriction
272
-        if ( null !== $transUnit->attributes->getNamedItem( 'sizeRestriction' ) && '' !== $transUnit->attributes->getNamedItem( 'sizeRestriction' )->nodeValue ) {
273
-            $metadata[ 'sizeRestriction' ] = (int)$transUnit->attributes->getNamedItem( 'sizeRestriction' )->nodeValue;
272
+        if (null !== $transUnit->attributes->getNamedItem('sizeRestriction') && '' !== $transUnit->attributes->getNamedItem('sizeRestriction')->nodeValue) {
273
+            $metadata['sizeRestriction'] = (int)$transUnit->attributes->getNamedItem('sizeRestriction')->nodeValue;
274 274
         }
275 275
 
276 276
         return $metadata;
@@ -282,31 +282,31 @@  discard block
 block discarded – undo
282 282
      * @return array
283 283
      * @throws Exception
284 284
      */
285
-    private function extractTransUnitOriginalData( DOMElement $transUnit ): array {
285
+    private function extractTransUnitOriginalData(DOMElement $transUnit): array {
286 286
         $originalData = [];
287 287
 
288 288
         // loop <originalData> to get nested content
289
-        foreach ( $transUnit->childNodes as $childNode ) {
290
-            if ( $childNode->nodeName === 'originalData' ) {
291
-                foreach ( $childNode->childNodes as $data ) {
292
-                    if ( null !== $data->attributes && null !== $data->attributes->getNamedItem( 'id' ) ) {
293
-                        $dataId = $data->attributes->getNamedItem( 'id' )->nodeValue;
289
+        foreach ($transUnit->childNodes as $childNode) {
290
+            if ($childNode->nodeName === 'originalData') {
291
+                foreach ($childNode->childNodes as $data) {
292
+                    if (null !== $data->attributes && null !== $data->attributes->getNamedItem('id')) {
293
+                        $dataId = $data->attributes->getNamedItem('id')->nodeValue;
294 294
 
295
-                        $dataValue = str_replace( Placeholder::WHITE_SPACE_PLACEHOLDER, ' ', $data->nodeValue );
296
-                        $dataValue = str_replace( Placeholder::NEW_LINE_PLACEHOLDER, '\n', $dataValue );
297
-                        $dataValue = str_replace( Placeholder::TAB_PLACEHOLDER, '\t', $dataValue );
295
+                        $dataValue = str_replace(Placeholder::WHITE_SPACE_PLACEHOLDER, ' ', $data->nodeValue);
296
+                        $dataValue = str_replace(Placeholder::NEW_LINE_PLACEHOLDER, '\n', $dataValue);
297
+                        $dataValue = str_replace(Placeholder::TAB_PLACEHOLDER, '\t', $dataValue);
298 298
 
299
-                        if ( '' !== $dataValue ) {
299
+                        if ('' !== $dataValue) {
300 300
 
301
-                            $jsonOrRawContentArray = $this->JSONOrRawContentArray( $dataValue, false );
301
+                            $jsonOrRawContentArray = $this->JSONOrRawContentArray($dataValue, false);
302 302
 
303 303
                             // restore xliff tags
304
-                            if ( isset( $jsonOrRawContentArray[ 'json' ] ) ) {
305
-                                $jsonOrRawContentArray[ 'json' ] = str_replace( [ Placeholder::LT_PLACEHOLDER, Placeholder::GT_PLACEHOLDER ], [ '&lt;', '&gt;' ], $jsonOrRawContentArray[ 'json' ] );
304
+                            if (isset($jsonOrRawContentArray['json'])) {
305
+                                $jsonOrRawContentArray['json'] = str_replace([Placeholder::LT_PLACEHOLDER, Placeholder::GT_PLACEHOLDER], ['&lt;', '&gt;'], $jsonOrRawContentArray['json']);
306 306
                             }
307 307
 
308
-                            if ( isset( $jsonOrRawContentArray[ 'raw-content' ] ) ) {
309
-                                $jsonOrRawContentArray[ 'raw-content' ] = str_replace( [ Placeholder::LT_PLACEHOLDER, Placeholder::GT_PLACEHOLDER ], [ '&lt;', '&gt;' ], $jsonOrRawContentArray[ 'raw-content' ] );
308
+                            if (isset($jsonOrRawContentArray['raw-content'])) {
309
+                                $jsonOrRawContentArray['raw-content'] = str_replace([Placeholder::LT_PLACEHOLDER, Placeholder::GT_PLACEHOLDER], ['&lt;', '&gt;'], $jsonOrRawContentArray['raw-content']);
310 310
                             }
311 311
 
312 312
                             $originalData[] = array_merge(
@@ -331,41 +331,41 @@  discard block
 block discarded – undo
331 331
      *
332 332
      * @return array
333 333
      */
334
-    private function extractTransUnitAdditionalTagData( DOMElement $transUnit ): array {
334
+    private function extractTransUnitAdditionalTagData(DOMElement $transUnit): array {
335 335
         $additionalTagData = [];
336 336
 
337 337
         // loop <originalData> to get nested content
338
-        foreach ( $transUnit->childNodes as $childNode ) {
339
-            if ( $childNode->nodeName === 'memsource:additionalTagData' ) {
340
-                foreach ( $childNode->childNodes as $data ) {
338
+        foreach ($transUnit->childNodes as $childNode) {
339
+            if ($childNode->nodeName === 'memsource:additionalTagData') {
340
+                foreach ($childNode->childNodes as $data) {
341 341
                     $dataArray = [];
342 342
 
343 343
                     // id
344
-                    if ( $data->nodeName === 'memsource:tag' ) {
345
-                        if ( null !== $data->attributes && null !== $data->attributes->getNamedItem( 'id' ) ) {
346
-                            $dataId                      = $data->attributes->getNamedItem( 'id' )->nodeValue;
347
-                            $dataArray[ 'attr' ][ 'id' ] = $dataId;
344
+                    if ($data->nodeName === 'memsource:tag') {
345
+                        if (null !== $data->attributes && null !== $data->attributes->getNamedItem('id')) {
346
+                            $dataId                      = $data->attributes->getNamedItem('id')->nodeValue;
347
+                            $dataArray['attr']['id'] = $dataId;
348 348
                         }
349 349
                     }
350 350
 
351 351
                     // in PHP 7.4 $data->childNodes is an empty DomNodeList, it is iterable with size 0
352 352
                     // PHP 5.6 check: in php 5.6 $data->childNodes can be null
353
-                    if ( $data->childNodes != null ) {
353
+                    if ($data->childNodes != null) {
354 354
 
355 355
                         // content
356
-                        foreach ( $data->childNodes as $datum ) {
357
-                            if ( $datum->nodeName === 'memsource:tagId' ) {
358
-                                $dataArray[ 'raw-content' ][ 'tagId' ] = $datum->nodeValue;
356
+                        foreach ($data->childNodes as $datum) {
357
+                            if ($datum->nodeName === 'memsource:tagId') {
358
+                                $dataArray['raw-content']['tagId'] = $datum->nodeValue;
359 359
                             }
360 360
 
361
-                            if ( $datum->nodeName === 'memsource:type' ) {
362
-                                $dataArray[ 'raw-content' ][ 'type' ] = $datum->nodeValue;
361
+                            if ($datum->nodeName === 'memsource:type') {
362
+                                $dataArray['raw-content']['type'] = $datum->nodeValue;
363 363
                             }
364 364
                         }
365 365
 
366 366
                     }
367 367
 
368
-                    if ( !empty( $dataArray ) ) {
368
+                    if (!empty($dataArray)) {
369 369
                         $additionalTagData[] = $dataArray;
370 370
                     }
371 371
                 }
@@ -381,15 +381,15 @@  discard block
 block discarded – undo
381 381
      * @param DOMElement $segment
382 382
      * @param array      $attr
383 383
      */
384
-    private function checkSegmentIdConsistency( DOMElement $segment, array $attr ) {
385
-        if ( isset( $attr[ 'tGroupBegin' ] ) && isset( $attr[ 'tGroupEnd' ] ) && $segment->attributes->getNamedItem( 'id' ) ) {
386
-            $id  = $segment->attributes->getNamedItem( 'id' )->nodeValue;
387
-            $min = (int)$attr[ 'tGroupBegin' ];
388
-            $max = (int)$attr[ 'tGroupEnd' ];
389
-
390
-            if ( false === ( ( $min <= $id ) && ( $id <= $max ) ) ) {
391
-                if ( $this->logger ) {
392
-                    $this->logger->warning( 'Segment #' . $id . ' is not included within tGroupBegin and tGroupEnd' );
384
+    private function checkSegmentIdConsistency(DOMElement $segment, array $attr) {
385
+        if (isset($attr['tGroupBegin']) && isset($attr['tGroupEnd']) && $segment->attributes->getNamedItem('id')) {
386
+            $id  = $segment->attributes->getNamedItem('id')->nodeValue;
387
+            $min = (int)$attr['tGroupBegin'];
388
+            $max = (int)$attr['tGroupEnd'];
389
+
390
+            if (false === (($min <= $id) && ($id <= $max))) {
391
+                if ($this->logger) {
392
+                    $this->logger->warning('Segment #' . $id . ' is not included within tGroupBegin and tGroupEnd');
393 393
                 }
394 394
             }
395 395
         }
@@ -401,31 +401,31 @@  discard block
 block discarded – undo
401 401
      * @return array
402 402
      * @throws Exception
403 403
      */
404
-    private function extractTransUnitNotes( DOMElement $transUnit ): array {
404
+    private function extractTransUnitNotes(DOMElement $transUnit): array {
405 405
         $notes = [];
406 406
 
407 407
         // loop <notes> to get nested <note> tag
408
-        foreach ( $transUnit->childNodes as $childNode ) {
409
-            if ( $childNode->nodeName == 'notes' ) {
410
-                foreach ( $childNode->childNodes as $note ) {
411
-                    $noteValue = trim( $note->nodeValue );
412
-                    if ( '' !== $noteValue ) {
413
-                        $notes[] = $this->JSONOrRawContentArray( $noteValue );
408
+        foreach ($transUnit->childNodes as $childNode) {
409
+            if ($childNode->nodeName == 'notes') {
410
+                foreach ($childNode->childNodes as $note) {
411
+                    $noteValue = trim($note->nodeValue);
412
+                    if ('' !== $noteValue) {
413
+                        $notes[] = $this->JSONOrRawContentArray($noteValue);
414 414
                     }
415 415
                 }
416 416
             }
417 417
 
418
-            if ( $childNode->nodeName === 'mda:metadata' ) {
419
-                foreach ( $childNode->childNodes as $metadata ) {
420
-                    if ( $metadata->nodeName === 'mda:metaGroup' ) {
421
-                        foreach ( $metadata->childNodes as $meta ) {
422
-                            if ( null !== $meta->attributes && null !== $meta->attributes->getNamedItem( 'type' ) ) {
423
-                                $type      = $meta->attributes->getNamedItem( 'type' )->nodeValue;
424
-                                $metaValue = trim( $meta->nodeValue );
418
+            if ($childNode->nodeName === 'mda:metadata') {
419
+                foreach ($childNode->childNodes as $metadata) {
420
+                    if ($metadata->nodeName === 'mda:metaGroup') {
421
+                        foreach ($metadata->childNodes as $meta) {
422
+                            if (null !== $meta->attributes && null !== $meta->attributes->getNamedItem('type')) {
423
+                                $type      = $meta->attributes->getNamedItem('type')->nodeValue;
424
+                                $metaValue = trim($meta->nodeValue);
425 425
 
426
-                                if ( '' !== $metaValue ) {
426
+                                if ('' !== $metaValue) {
427 427
                                     $notes[] = array_merge(
428
-                                            $this->JSONOrRawContentArray( $metaValue ),
428
+                                            $this->JSONOrRawContentArray($metaValue),
429 429
                                             [
430 430
                                                     'attr' => [
431 431
                                                             'type' => $type
Please login to merge, or discard this patch.