Passed
Push — master ( 129cb7...bcc00c )
by Domenico
03:12
created
src/XliffUtils/DataRefReplacer.php 1 patch
Spacing   +164 added lines, -164 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
      *
17 17
      * @param array $map
18 18
      */
19
-    public function __construct( array $map = null ) {
19
+    public function __construct(array $map = null) {
20 20
         $this->map = $map;
21 21
     }
22 22
 
@@ -31,38 +31,38 @@  discard block
 block discarded – undo
31 31
      *
32 32
      * @return string
33 33
      */
34
-    public function replace( $string ) {
34
+    public function replace($string) {
35 35
         // if map is empty
36 36
         // or the string has not a dataRef attribute
37 37
         // return string as is
38
-        if ( empty( $this->map ) || !$this->hasAnyDataRefAttribute( $string ) ) {
38
+        if (empty($this->map) || !$this->hasAnyDataRefAttribute($string)) {
39 39
             return $string;
40 40
         }
41 41
 
42 42
         // (recursively) clean string from equiv-text eventually present
43
-        $string = $this->cleanFromEquivText( $string );
43
+        $string = $this->cleanFromEquivText($string);
44 44
 
45
-        $html = HtmlParser::parse( $string );
45
+        $html = HtmlParser::parse($string);
46 46
 
47 47
         // 1. Replace <ph>|<sc>|<ec> tags
48
-        foreach ( $html as $node ) {
49
-            $string = $this->recursiveAddEquivTextToPhTag( $node, $string );
48
+        foreach ($html as $node) {
49
+            $string = $this->recursiveAddEquivTextToPhTag($node, $string);
50 50
         }
51 51
 
52 52
         // 2. Replace <pc> tags
53
-        $toBeEscaped = Strings::isAnEscapedHTML( $string );
53
+        $toBeEscaped = Strings::isAnEscapedHTML($string);
54 54
 
55
-        if ( $this->stringContainsPcTags( $string, $toBeEscaped ) ) {
55
+        if ($this->stringContainsPcTags($string, $toBeEscaped)) {
56 56
 
57 57
             // replace self-closed <pc />
58
-            $string = $this->replaceSelfClosedPcTags( $string, $toBeEscaped );
58
+            $string = $this->replaceSelfClosedPcTags($string, $toBeEscaped);
59 59
 
60 60
             // create a dataRefEnd map
61 61
             // (needed for correct handling of </pc> closing tags)
62
-            $dataRefEndMap = $this->buildDataRefEndMap( $html );
63
-            $string        = $this->replaceOpeningPcTags( $string, $toBeEscaped );
64
-            $string        = $this->replaceClosingPcTags( $string, $toBeEscaped, $dataRefEndMap );
65
-            $string        = ( $toBeEscaped ) ? Strings::escapeOnlyHTMLTags( $string ) : $string;
62
+            $dataRefEndMap = $this->buildDataRefEndMap($html);
63
+            $string        = $this->replaceOpeningPcTags($string, $toBeEscaped);
64
+            $string        = $this->replaceClosingPcTags($string, $toBeEscaped, $dataRefEndMap);
65
+            $string        = ($toBeEscaped) ? Strings::escapeOnlyHTMLTags($string) : $string;
66 66
         }
67 67
 
68 68
         return $string;
@@ -73,17 +73,17 @@  discard block
 block discarded – undo
73 73
      *
74 74
      * @return bool
75 75
      */
76
-    private function hasAnyDataRefAttribute( $string ) {
76
+    private function hasAnyDataRefAttribute($string) {
77 77
         $dataRefTags = [
78 78
                 'dataRef',
79 79
                 'dataRefStart',
80 80
                 'dataRefEnd',
81 81
         ];
82 82
 
83
-        foreach ( $dataRefTags as $tag ) {
84
-            preg_match( '/ ' . $tag . '=[\\\\"](.*?)[\\\\"]/', $string, $matches );
83
+        foreach ($dataRefTags as $tag) {
84
+            preg_match('/ ' . $tag . '=[\\\\"](.*?)[\\\\"]/', $string, $matches);
85 85
 
86
-            if ( count( $matches ) > 0 ) {
86
+            if (count($matches) > 0) {
87 87
                 return true;
88 88
             }
89 89
         }
@@ -94,11 +94,11 @@  discard block
 block discarded – undo
94 94
      *
95 95
      * @return string
96 96
      */
97
-    private function cleanFromEquivText( $string ) {
98
-        $html = HtmlParser::parse( $string );
97
+    private function cleanFromEquivText($string) {
98
+        $html = HtmlParser::parse($string);
99 99
 
100
-        foreach ( $html as $node ) {
101
-            $string = $this->recursiveCleanFromEquivText( $node, $string );
100
+        foreach ($html as $node) {
101
+            $string = $this->recursiveCleanFromEquivText($node, $string);
102 102
         }
103 103
 
104 104
         return $string;
@@ -117,57 +117,57 @@  discard block
 block discarded – undo
117 117
      *
118 118
      * @return string
119 119
      */
120
-    private function recursiveAddEquivTextToPhTag( $node, $string ) {
121
-        if ( $node->has_children ) {
122
-            foreach ( $node->inner_html as $childNode ) {
123
-                $string = $this->recursiveAddEquivTextToPhTag( $childNode, $string );
120
+    private function recursiveAddEquivTextToPhTag($node, $string) {
121
+        if ($node->has_children) {
122
+            foreach ($node->inner_html as $childNode) {
123
+                $string = $this->recursiveAddEquivTextToPhTag($childNode, $string);
124 124
             }
125 125
         } else {
126
-            if ( $node->tagname === 'ph' || $node->tagname === 'sc' || $node->tagname === 'ec' ) {
127
-                if ( !isset( $node->attributes[ 'dataRef' ] ) ) {
126
+            if ($node->tagname === 'ph' || $node->tagname === 'sc' || $node->tagname === 'ec') {
127
+                if (!isset($node->attributes['dataRef'])) {
128 128
                     return $string;
129 129
                 }
130 130
 
131
-                $a = $node->node;  // complete match. Eg:  <ph id="source1" dataRef="source1"/>
132
-                $b = $node->attributes[ 'dataRef' ];   // map identifier. Eg: source1
131
+                $a = $node->node; // complete match. Eg:  <ph id="source1" dataRef="source1"/>
132
+                $b = $node->attributes['dataRef']; // map identifier. Eg: source1
133 133
 
134 134
 
135 135
                 // if isset a value in the map calculate base64 encoded value
136 136
                 // otherwise skip
137
-                if ( !in_array( $b, array_keys( $this->map ) ) ) {
137
+                if (!in_array($b, array_keys($this->map))) {
138 138
                     return $string;
139 139
                 }
140 140
 
141 141
                 // check if is null, in this case convert it to NULL string
142
-                if ( is_null( $this->map[ $b ] ) ) {
143
-                    $this->map[ $b ] = 'NULL';
142
+                if (is_null($this->map[$b])) {
143
+                    $this->map[$b] = 'NULL';
144 144
                 }
145 145
 
146
-                $value              = $this->map[ $b ];
147
-                $base64EncodedValue = base64_encode( $value );
146
+                $value              = $this->map[$b];
147
+                $base64EncodedValue = base64_encode($value);
148 148
 
149
-                if ( empty( $base64EncodedValue ) || $base64EncodedValue === '' ) {
149
+                if (empty($base64EncodedValue) || $base64EncodedValue === '') {
150 150
                     return $string;
151 151
                 }
152 152
 
153 153
                 // if there is no id copy it from dataRef
154
-                $id = ( !isset( $node->attributes[ 'id' ] ) ) ? ' id="' . $b . '" removeId="true"' : '';
154
+                $id = (!isset($node->attributes['id'])) ? ' id="' . $b . '" removeId="true"' : '';
155 155
 
156 156
                 // introduce dataType for <ec>/<sc> tag handling
157
-                $dataType = ( $this->isAEcOrScTag( $node ) ) ? ' dataType="' . $node->tagname . '"' : '';
157
+                $dataType = ($this->isAEcOrScTag($node)) ? ' dataType="' . $node->tagname . '"' : '';
158 158
 
159 159
                 // replacement
160
-                $d = str_replace( '/', $id . $dataType . ' equiv-text="base64:' . $base64EncodedValue . '"/', $a );
161
-                $a = str_replace( [ '<', '>', '&gt;', '&lt;' ], '', $a );
162
-                $d = str_replace( [ '<', '>', '&gt;', '&lt;' ], '', $d );
160
+                $d = str_replace('/', $id . $dataType . ' equiv-text="base64:' . $base64EncodedValue . '"/', $a);
161
+                $a = str_replace(['<', '>', '&gt;', '&lt;'], '', $a);
162
+                $d = str_replace(['<', '>', '&gt;', '&lt;'], '', $d);
163 163
 
164 164
                 // convert <ec>/<sc> into <ph>
165
-                if ( $this->isAEcOrScTag( $node ) ) {
166
-                    $d = 'ph' . substr( $d, 2 );
167
-                    $d = trim( $d );
165
+                if ($this->isAEcOrScTag($node)) {
166
+                    $d = 'ph' . substr($d, 2);
167
+                    $d = trim($d);
168 168
                 }
169 169
 
170
-                return str_replace( $a, $d, $string );
170
+                return str_replace($a, $d, $string);
171 171
             }
172 172
         }
173 173
 
@@ -180,11 +180,11 @@  discard block
 block discarded – undo
180 180
      *
181 181
      * @return bool
182 182
      */
183
-    private function stringContainsPcTags( $string, $toBeEscaped ) {
184
-        $regex = ( $toBeEscaped ) ? '/&lt;pc (.*?)&gt;/iu' : '/<pc (.*?)>/iu';
185
-        preg_match_all( $regex, $string, $openingPcMatches );
183
+    private function stringContainsPcTags($string, $toBeEscaped) {
184
+        $regex = ($toBeEscaped) ? '/&lt;pc (.*?)&gt;/iu' : '/<pc (.*?)>/iu';
185
+        preg_match_all($regex, $string, $openingPcMatches);
186 186
 
187
-        return ( isset( $openingPcMatches[ 0 ] ) && count( $openingPcMatches[ 0 ] ) > 0 );
187
+        return (isset($openingPcMatches[0]) && count($openingPcMatches[0]) > 0);
188 188
     }
189 189
 
190 190
     /**
@@ -193,28 +193,28 @@  discard block
 block discarded – undo
193 193
      *
194 194
      * @return mixed
195 195
      */
196
-    private function replaceSelfClosedPcTags( $string, $toBeEscaped ) {
197
-        if ( $toBeEscaped ) {
198
-            $string = str_replace( [ '&lt;', '&gt;' ], [ '<', '>' ], $string );
196
+    private function replaceSelfClosedPcTags($string, $toBeEscaped) {
197
+        if ($toBeEscaped) {
198
+            $string = str_replace(['&lt;', '&gt;'], ['<', '>'], $string);
199 199
         }
200 200
 
201 201
         $regex = '/<pc[^>]+?\/>/iu';
202
-        preg_match_all( $regex, $string, $selfClosedPcMatches );
202
+        preg_match_all($regex, $string, $selfClosedPcMatches);
203 203
 
204
-        foreach ( $selfClosedPcMatches[ 0 ] as $match ) {
204
+        foreach ($selfClosedPcMatches[0] as $match) {
205 205
 
206
-            $html       = HtmlParser::parse( $match );
207
-            $node       = $html[ 0 ];
206
+            $html       = HtmlParser::parse($match);
207
+            $node       = $html[0];
208 208
             $attributes = $node->attributes;
209 209
 
210
-            if ( isset( $attributes[ 'dataRefStart' ] ) && array_key_exists( $node->attributes[ 'dataRefStart' ], $this->map ) ) {
211
-                $replacement = '<ph id="' . $attributes[ 'id' ] . '" dataType="pcSelf" originalData="' . base64_encode( $match ) . '" dataRef="' . $attributes[ 'dataRefStart' ] . '" equiv-text="base64:' . base64_encode( $this->map[ $node->attributes[ 'dataRefStart' ] ] ) . '"/>';
212
-                $string      = str_replace( $match, $replacement, $string );
210
+            if (isset($attributes['dataRefStart']) && array_key_exists($node->attributes['dataRefStart'], $this->map)) {
211
+                $replacement = '<ph id="' . $attributes['id'] . '" dataType="pcSelf" originalData="' . base64_encode($match) . '" dataRef="' . $attributes['dataRefStart'] . '" equiv-text="base64:' . base64_encode($this->map[$node->attributes['dataRefStart']]) . '"/>';
212
+                $string      = str_replace($match, $replacement, $string);
213 213
             }
214 214
         }
215 215
 
216
-        if ( $toBeEscaped ) {
217
-            $string = str_replace( [ '<', '>' ], [ '&lt;', '&gt;' ], $string );
216
+        if ($toBeEscaped) {
217
+            $string = str_replace(['<', '>'], ['&lt;', '&gt;'], $string);
218 218
         }
219 219
 
220 220
         return $string;
@@ -228,12 +228,12 @@  discard block
 block discarded – undo
228 228
      *
229 229
      * @return array
230 230
      */
231
-    private function buildDataRefEndMap( $html ) {
231
+    private function buildDataRefEndMap($html) {
232 232
         $dataRefEndMap = [];
233 233
 
234
-        foreach ( $html as $index => $node ) {
235
-            if ( $node->tagname === 'pc' ) {
236
-                $this->extractDataRefMapRecursively( $node, $dataRefEndMap );
234
+        foreach ($html as $index => $node) {
235
+            if ($node->tagname === 'pc') {
236
+                $this->extractDataRefMapRecursively($node, $dataRefEndMap);
237 237
             }
238 238
         }
239 239
 
@@ -246,25 +246,25 @@  discard block
 block discarded – undo
246 246
      * @param object $node
247 247
      * @param        $dataRefEndMap
248 248
      */
249
-    private function extractDataRefMapRecursively( $node, &$dataRefEndMap ) {
250
-        if ( $this->nodeContainsNestedPcTags( $node ) ) {
251
-            foreach ( $node->inner_html as $nestedNode ) {
252
-                $this->extractDataRefMapRecursively( $nestedNode, $dataRefEndMap );
249
+    private function extractDataRefMapRecursively($node, &$dataRefEndMap) {
250
+        if ($this->nodeContainsNestedPcTags($node)) {
251
+            foreach ($node->inner_html as $nestedNode) {
252
+                $this->extractDataRefMapRecursively($nestedNode, $dataRefEndMap);
253 253
             }
254 254
         }
255 255
 
256 256
         // EXCLUDE self closed <pc/>
257
-        if ( $node->tagname === 'pc' && $node->self_closed === false ) {
258
-            if ( isset( $node->attributes[ 'dataRefEnd' ] ) ) {
259
-                $dataRefEnd = $node->attributes[ 'dataRefEnd' ];
260
-            } elseif ( isset( $node->attributes[ 'dataRefStart' ] ) ) {
261
-                $dataRefEnd = $node->attributes[ 'dataRefStart' ];
257
+        if ($node->tagname === 'pc' && $node->self_closed === false) {
258
+            if (isset($node->attributes['dataRefEnd'])) {
259
+                $dataRefEnd = $node->attributes['dataRefEnd'];
260
+            } elseif (isset($node->attributes['dataRefStart'])) {
261
+                $dataRefEnd = $node->attributes['dataRefStart'];
262 262
             } else {
263 263
                 $dataRefEnd = null;
264 264
             }
265 265
 
266 266
             $dataRefEndMap[] = [
267
-                    'id'         => isset( $node->attributes[ 'id' ] ) ? $node->attributes[ 'id' ] : null,
267
+                    'id'         => isset($node->attributes['id']) ? $node->attributes['id'] : null,
268 268
                     'dataRefEnd' => $dataRefEnd,
269 269
             ];
270 270
         }
@@ -276,15 +276,15 @@  discard block
 block discarded – undo
276 276
      *
277 277
      * @return string|string[]
278 278
      */
279
-    private function recursiveCleanFromEquivText( $node, $string ) {
280
-        if ( $node->has_children ) {
281
-            foreach ( $node->inner_html as $childNode ) {
282
-                $string = $this->recursiveCleanFromEquivText( $childNode, $string );
279
+    private function recursiveCleanFromEquivText($node, $string) {
280
+        if ($node->has_children) {
281
+            foreach ($node->inner_html as $childNode) {
282
+                $string = $this->recursiveCleanFromEquivText($childNode, $string);
283 283
             }
284 284
         } else {
285
-            if ( isset( $node->attributes[ 'dataRef' ] ) && array_key_exists( $node->attributes[ 'dataRef' ], $this->map ) ) {
286
-                $cleaned = preg_replace( '/ equiv-text="(.*?)"/', '', $node->node );
287
-                $string  = str_replace( $node->node, $cleaned, $string );
285
+            if (isset($node->attributes['dataRef']) && array_key_exists($node->attributes['dataRef'], $this->map)) {
286
+                $cleaned = preg_replace('/ equiv-text="(.*?)"/', '', $node->node);
287
+                $string  = str_replace($node->node, $cleaned, $string);
288 288
             }
289 289
         }
290 290
 
@@ -299,35 +299,35 @@  discard block
 block discarded – undo
299 299
      *
300 300
      * @return string
301 301
      */
302
-    private function replaceOpeningPcTags( $string, $toBeEscaped ) {
303
-        $regex = ( $toBeEscaped ) ? '/&lt;pc (.*?)&gt;/iu' : '/<pc (.*?)>/iu';
304
-        preg_match_all( $regex, $string, $openingPcMatches );
302
+    private function replaceOpeningPcTags($string, $toBeEscaped) {
303
+        $regex = ($toBeEscaped) ? '/&lt;pc (.*?)&gt;/iu' : '/<pc (.*?)>/iu';
304
+        preg_match_all($regex, $string, $openingPcMatches);
305 305
 
306
-        foreach ( $openingPcMatches[ 0 ] as $index => $match ) {
307
-            $attr = HtmlParser::getAttributes( $openingPcMatches[ 1 ][ $index ] );
306
+        foreach ($openingPcMatches[0] as $index => $match) {
307
+            $attr = HtmlParser::getAttributes($openingPcMatches[1][$index]);
308 308
 
309 309
             // CASE 1 - Missing `dataRefStart`
310
-            if ( isset( $attr[ 'dataRefEnd' ] ) && !isset( $attr[ 'dataRefStart' ] ) ) {
311
-                $attr[ 'dataRefStart' ] = $attr[ 'dataRefEnd' ];
310
+            if (isset($attr['dataRefEnd']) && !isset($attr['dataRefStart'])) {
311
+                $attr['dataRefStart'] = $attr['dataRefEnd'];
312 312
             }
313 313
 
314 314
             // CASE 2 - Missing `dataRefEnd`
315
-            if ( isset( $attr[ 'dataRefStart' ] ) && !isset( $attr[ 'dataRefEnd' ] ) ) {
316
-                $attr[ 'dataRefEnd' ] = $attr[ 'dataRefStart' ];
315
+            if (isset($attr['dataRefStart']) && !isset($attr['dataRefEnd'])) {
316
+                $attr['dataRefEnd'] = $attr['dataRefStart'];
317 317
             }
318 318
 
319
-            if ( isset( $attr[ 'dataRefStart' ] ) ) {
319
+            if (isset($attr['dataRefStart'])) {
320 320
                 $startOriginalData       = $match; // opening <pc>
321
-                $startValue              = $this->map[ $attr[ 'dataRefStart' ] ] ? $this->map[ $attr[ 'dataRefStart' ] ] : 'NULL'; //handling null values in original data map
322
-                $base64EncodedStartValue = base64_encode( $startValue );
323
-                $base64StartOriginalData = base64_encode( $startOriginalData );
321
+                $startValue              = $this->map[$attr['dataRefStart']] ? $this->map[$attr['dataRefStart']] : 'NULL'; //handling null values in original data map
322
+                $base64EncodedStartValue = base64_encode($startValue);
323
+                $base64StartOriginalData = base64_encode($startOriginalData);
324 324
 
325 325
                 // conversion for opening <pc> tag
326
-                $openingPcConverted = '<ph ' . ( ( isset( $attr[ 'id' ] ) ) ? 'id="' . $attr[ 'id' ] . '_1"' : '' ) . ' dataType="pcStart" originalData="' . $base64StartOriginalData . '" dataRef="'
327
-                        . $attr[ 'dataRefStart' ] . '" equiv-text="base64:'
326
+                $openingPcConverted = '<ph ' . ((isset($attr['id'])) ? 'id="' . $attr['id'] . '_1"' : '') . ' dataType="pcStart" originalData="' . $base64StartOriginalData . '" dataRef="'
327
+                        . $attr['dataRefStart'] . '" equiv-text="base64:'
328 328
                         . $base64EncodedStartValue . '"/>';
329 329
 
330
-                $string = str_replace( $startOriginalData, $openingPcConverted, $string );
330
+                $string = str_replace($startOriginalData, $openingPcConverted, $string);
331 331
             }
332 332
         }
333 333
 
@@ -344,34 +344,34 @@  discard block
 block discarded – undo
344 344
      *
345 345
      * @return string
346 346
      */
347
-    private function replaceClosingPcTags( $string, $toBeEscaped, $dataRefEndMap = [] ) {
348
-        $regex = ( $toBeEscaped ) ? '/&lt;\/pc&gt;/iu' : '/<\/pc>/iu';
349
-        preg_match_all( $regex, $string, $closingPcMatches, PREG_OFFSET_CAPTURE );
347
+    private function replaceClosingPcTags($string, $toBeEscaped, $dataRefEndMap = []) {
348
+        $regex = ($toBeEscaped) ? '/&lt;\/pc&gt;/iu' : '/<\/pc>/iu';
349
+        preg_match_all($regex, $string, $closingPcMatches, PREG_OFFSET_CAPTURE);
350 350
         $delta = 0;
351 351
 
352
-        foreach ( $closingPcMatches[ 0 ] as $index => $match ) {
353
-            $offset = $match[ 1 ];
354
-            $length = strlen( $match[ 0 ] );
355
-            $attr   = $dataRefEndMap[ $index ];
352
+        foreach ($closingPcMatches[0] as $index => $match) {
353
+            $offset = $match[1];
354
+            $length = strlen($match[0]);
355
+            $attr   = $dataRefEndMap[$index];
356 356
 
357
-            if ( !empty( $attr ) && isset( $attr[ 'dataRefEnd' ] ) ) {
358
-                $endOriginalData       = $match[ 0 ]; // </pc>
359
-                $endValue              = $this->map[ $attr[ 'dataRefEnd' ] ] ?: 'NULL';
360
-                $base64EncodedEndValue = base64_encode( $endValue );
361
-                $base64EndOriginalData = base64_encode( $endOriginalData );
357
+            if (!empty($attr) && isset($attr['dataRefEnd'])) {
358
+                $endOriginalData       = $match[0]; // </pc>
359
+                $endValue              = $this->map[$attr['dataRefEnd']] ?: 'NULL';
360
+                $base64EncodedEndValue = base64_encode($endValue);
361
+                $base64EndOriginalData = base64_encode($endOriginalData);
362 362
 
363 363
                 // conversion for closing <pc> tag
364
-                $closingPcConverted = '<ph ' . ( ( isset( $attr[ 'id' ] ) ) ? 'id="' . $attr[ 'id' ] . '_2"' : '' ) . ' dataType="pcEnd" originalData="' . $base64EndOriginalData . '" dataRef="'
365
-                        . $attr[ 'dataRefEnd' ] . '" equiv-text="base64:' . $base64EncodedEndValue . '"/>';
364
+                $closingPcConverted = '<ph ' . ((isset($attr['id'])) ? 'id="' . $attr['id'] . '_2"' : '') . ' dataType="pcEnd" originalData="' . $base64EndOriginalData . '" dataRef="'
365
+                        . $attr['dataRefEnd'] . '" equiv-text="base64:' . $base64EncodedEndValue . '"/>';
366 366
 
367
-                $realOffset = ( $delta === 0 ) ? $offset : ( $offset + $delta );
367
+                $realOffset = ($delta === 0) ? $offset : ($offset + $delta);
368 368
 
369
-                $string = substr_replace( $string, $closingPcConverted, $realOffset, $length );
370
-                $delta  = $delta + strlen( $closingPcConverted ) - $length;
369
+                $string = substr_replace($string, $closingPcConverted, $realOffset, $length);
370
+                $delta  = $delta + strlen($closingPcConverted) - $length;
371 371
             }
372 372
         }
373 373
 
374
-        return !is_array( $string ) ? $string : implode( $string );
374
+        return !is_array($string) ? $string : implode($string);
375 375
     }
376 376
 
377 377
     /**
@@ -379,13 +379,13 @@  discard block
 block discarded – undo
379 379
      *
380 380
      * @return bool
381 381
      */
382
-    private function nodeContainsNestedPcTags( $node ) {
383
-        if ( !$node->has_children ) {
382
+    private function nodeContainsNestedPcTags($node) {
383
+        if (!$node->has_children) {
384 384
             return false;
385 385
         }
386 386
 
387
-        foreach ( $node->inner_html as $nestedNode ) {
388
-            if ( $nestedNode->tagname === 'pc' && ( isset( $node->attributes[ 'dataRefEnd' ] ) || isset( $node->attributes[ 'dataRefStart' ] ) ) ) {
387
+        foreach ($node->inner_html as $nestedNode) {
388
+            if ($nestedNode->tagname === 'pc' && (isset($node->attributes['dataRefEnd']) || isset($node->attributes['dataRefStart']))) {
389 389
                 return true;
390 390
             }
391 391
         }
@@ -398,18 +398,18 @@  discard block
 block discarded – undo
398 398
      *
399 399
      * @return string
400 400
      */
401
-    public function restore( $string ) {
401
+    public function restore($string) {
402 402
         // if map is empty return string as is
403
-        if ( empty( $this->map ) ) {
403
+        if (empty($this->map)) {
404 404
             return $string;
405 405
         }
406 406
 
407 407
         // replace eventual empty equiv-text=""
408
-        $string = str_replace( ' equiv-text=""', '', $string );
409
-        $html   = HtmlParser::parse( $string );
408
+        $string = str_replace(' equiv-text=""', '', $string);
409
+        $html   = HtmlParser::parse($string);
410 410
 
411
-        foreach ( $html as $node ) {
412
-            $string = $this->recursiveRemoveOriginalData( $node, $string );
411
+        foreach ($html as $node) {
412
+            $string = $this->recursiveRemoveOriginalData($node, $string);
413 413
         }
414 414
 
415 415
         return $string;
@@ -421,76 +421,76 @@  discard block
 block discarded – undo
421 421
      *
422 422
      * @return string|string[]
423 423
      */
424
-    private function recursiveRemoveOriginalData( $node, $string ) {
425
-        if ( $node->has_children ) {
426
-            foreach ( $node->inner_html as $childNode ) {
427
-                $string = $this->recursiveRemoveOriginalData( $childNode, $string );
424
+    private function recursiveRemoveOriginalData($node, $string) {
425
+        if ($node->has_children) {
426
+            foreach ($node->inner_html as $childNode) {
427
+                $string = $this->recursiveRemoveOriginalData($childNode, $string);
428 428
             }
429 429
         } else {
430 430
 
431
-            if ( !isset( $node->attributes[ 'dataRef' ] ) ) {
431
+            if (!isset($node->attributes['dataRef'])) {
432 432
                 return $string;
433 433
             }
434 434
 
435
-            $a = $node->node;                  // complete match. Eg:  <ph id="source1" dataRef="source1"/>
436
-            $b = $node->attributes[ 'dataRef' ]; // map identifier. Eg: source1
437
-            $c = $node->terminator;            // terminator: Eg: >
435
+            $a = $node->node; // complete match. Eg:  <ph id="source1" dataRef="source1"/>
436
+            $b = $node->attributes['dataRef']; // map identifier. Eg: source1
437
+            $c = $node->terminator; // terminator: Eg: >
438 438
 
439 439
             // if isset a value in the map calculate base64 encoded value
440 440
             // or it is an empty string
441 441
             // otherwise skip
442
-            if ( !in_array( $b, array_keys( $this->map ) ) ) {
442
+            if (!in_array($b, array_keys($this->map))) {
443 443
                 return $string;
444 444
             }
445 445
 
446 446
             // check if is null, in this case convert it to NULL string
447
-            if ( is_null( $this->map[ $b ] ) ) {
448
-                $this->map[ $b ] = 'NULL';
447
+            if (is_null($this->map[$b])) {
448
+                $this->map[$b] = 'NULL';
449 449
             }
450 450
 
451 451
             // remove id?
452
-            $removeId = ( isset( $node->attributes[ 'removeId' ] ) && $node->attributes[ 'removeId' ] === "true" ) ? ' id="' . $b . '" removeId="true"' : '';
452
+            $removeId = (isset($node->attributes['removeId']) && $node->attributes['removeId'] === "true") ? ' id="' . $b . '" removeId="true"' : '';
453 453
 
454 454
             // grab dataType attribute for <ec>/<sc> tag handling
455
-            $dataType = ( $this->wasAEcOrScTag( $node ) ) ? ' dataType="' . $node->attributes[ 'dataType' ] . '"' : '';
455
+            $dataType = ($this->wasAEcOrScTag($node)) ? ' dataType="' . $node->attributes['dataType'] . '"' : '';
456 456
 
457
-            $d = str_replace( $removeId . $dataType . ' equiv-text="base64:' . base64_encode( $this->map[ $b ] ) . '"/' . $c, '/' . $c, $a );
457
+            $d = str_replace($removeId . $dataType . ' equiv-text="base64:' . base64_encode($this->map[$b]) . '"/' . $c, '/' . $c, $a);
458 458
 
459 459
             // replace original <ec>/<sc> tag
460
-            if ( $this->wasAEcOrScTag( $node ) ) {
461
-                $d = $node->attributes[ 'dataType' ] . substr( $d, 3 );
462
-                $d = trim( $d );
460
+            if ($this->wasAEcOrScTag($node)) {
461
+                $d = $node->attributes['dataType'] . substr($d, 3);
462
+                $d = trim($d);
463 463
             }
464 464
 
465 465
             // replace only content tag, no matter if the string is encoded or not
466 466
             // in this way we can handle string with mixed tags (encoded and not-encoded)
467 467
             // in the same string
468
-            $a = $this->purgeTags( $a );
469
-            $d = $this->purgeTags( $d );
468
+            $a = $this->purgeTags($a);
469
+            $d = $this->purgeTags($d);
470 470
 
471
-            $string = str_replace( $a, $d, $string );
471
+            $string = str_replace($a, $d, $string);
472 472
 
473 473
             // restoring <pc/> self-closed here
474
-            if ( Strings::contains( 'dataType="pcSelf"', $d ) ) {
475
-                preg_match( '/\s?originalData="(.*?)"\s?/', $d, $originalDataMatches );
474
+            if (Strings::contains('dataType="pcSelf"', $d)) {
475
+                preg_match('/\s?originalData="(.*?)"\s?/', $d, $originalDataMatches);
476 476
 
477
-                if ( isset( $originalDataMatches[ 1 ] ) ) {
478
-                    $originalData = base64_decode( $originalDataMatches[ 1 ] );
479
-                    $originalData = $this->purgeTags( $originalData );
480
-                    $string       = str_replace( $d, $originalData, $string );
477
+                if (isset($originalDataMatches[1])) {
478
+                    $originalData = base64_decode($originalDataMatches[1]);
479
+                    $originalData = $this->purgeTags($originalData);
480
+                    $string       = str_replace($d, $originalData, $string);
481 481
                 }
482 482
             }
483 483
 
484 484
             // restoring <pc> tags here
485 485
             // if <ph> tag has originalData and originalType is pcStart or pcEnd,
486 486
             // replace with original data
487
-            if ( Strings::contains( 'dataType="pcStart"', $d ) || Strings::contains( 'dataType="pcEnd"', $d ) ) {
488
-                preg_match( '/\s?originalData="(.*?)"\s?/', $d, $originalDataMatches );
487
+            if (Strings::contains('dataType="pcStart"', $d) || Strings::contains('dataType="pcEnd"', $d)) {
488
+                preg_match('/\s?originalData="(.*?)"\s?/', $d, $originalDataMatches);
489 489
 
490
-                if ( isset( $originalDataMatches[ 1 ] ) ) {
491
-                    $originalData = base64_decode( $originalDataMatches[ 1 ] );
492
-                    $originalData = $this->purgeTags( $originalData );
493
-                    $string       = str_replace( $d, $originalData, $string );
490
+                if (isset($originalDataMatches[1])) {
491
+                    $originalData = base64_decode($originalDataMatches[1]);
492
+                    $originalData = $this->purgeTags($originalData);
493
+                    $string       = str_replace($d, $originalData, $string);
494 494
                 }
495 495
             }
496 496
         }
@@ -503,8 +503,8 @@  discard block
 block discarded – undo
503 503
      *
504 504
      * @return string
505 505
      */
506
-    private function purgeTags( $string ) {
507
-        return str_replace( [ '<', '>', '&lt;', '&gt;' ], '', $string );
506
+    private function purgeTags($string) {
507
+        return str_replace(['<', '>', '&lt;', '&gt;'], '', $string);
508 508
     }
509 509
 
510 510
     /**
@@ -514,8 +514,8 @@  discard block
 block discarded – undo
514 514
      *
515 515
      * @return bool
516 516
      */
517
-    private function isAEcOrScTag( $node ) {
518
-        return ( $node->tagname === 'ec' || $node->tagname === 'sc' );
517
+    private function isAEcOrScTag($node) {
518
+        return ($node->tagname === 'ec' || $node->tagname === 'sc');
519 519
     }
520 520
 
521 521
     /**
@@ -526,7 +526,7 @@  discard block
 block discarded – undo
526 526
      *
527 527
      * @return bool
528 528
      */
529
-    private function wasAEcOrScTag( $node ) {
530
-        return ( isset( $node->attributes[ 'dataType' ] ) && ( $node->attributes[ 'dataType' ] === 'ec' || $node->attributes[ 'dataType' ] === 'sc' ) );
529
+    private function wasAEcOrScTag($node) {
530
+        return (isset($node->attributes['dataType']) && ($node->attributes['dataType'] === 'ec' || $node->attributes['dataType'] === 'sc'));
531 531
     }
532 532
 }
Please login to merge, or discard this patch.
src/Utils/Emoji.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -7404,7 +7404,7 @@
 block discarded – undo
7404 7404
             '
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -7402,7 +7402,7 @@
 block discarded – undo
7402 7402
             '
Please login to merge, or discard this patch.
src/XliffUtils/XliffProprietaryDetect.php 1 patch
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -50,11 +50,11 @@  discard block
 block discarded – undo
50 50
      *
51 51
      * @return array
52 52
      */
53
-    private static function getInfoFromTmp( $tmp)
53
+    private static function getInfoFromTmp($tmp)
54 54
     {
55 55
         try {
56 56
             self::checkVersion($tmp);
57
-        } catch ( Exception $ignore) {
57
+        } catch (Exception $ignore) {
58 58
             // do nothing
59 59
             // self::$fileType[ 'version' ] is left empty
60 60
         }
@@ -62,10 +62,10 @@  discard block
 block discarded – undo
62 62
         // run CheckXliffProprietaryPipeline
63 63
         $pipeline = self::runPipeline($tmp);
64 64
 
65
-        self::$fileType['proprietary' ] = $pipeline['proprietary' ];
66
-        self::$fileType[ 'proprietary_name' ] = $pipeline['proprietary_name' ];
67
-        self::$fileType[ 'proprietary_short_name' ] = $pipeline['proprietary_short_name' ];
68
-        self::$fileType[ 'converter_version' ] = $pipeline['converter_version' ];
65
+        self::$fileType['proprietary'] = $pipeline['proprietary'];
66
+        self::$fileType['proprietary_name'] = $pipeline['proprietary_name'];
67
+        self::$fileType['proprietary_short_name'] = $pipeline['proprietary_short_name'];
68
+        self::$fileType['converter_version'] = $pipeline['converter_version'];
69 69
 
70 70
         return self::$fileType;
71 71
     }
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
         }
129 129
 
130 130
         if (!empty($stringData)) {
131
-            return array( $stringData );
131
+            return array($stringData);
132 132
         }
133 133
 
134 134
         return false;
@@ -142,8 +142,8 @@  discard block
 block discarded – undo
142 142
      */
143 143
     protected static function checkVersion($tmp)
144 144
     {
145
-        if (isset($tmp[ 0 ])) {
146
-            self::$fileType[ 'version' ] = XliffVersionDetector::detect($tmp[ 0 ]);
145
+        if (isset($tmp[0])) {
146
+            self::$fileType['version'] = XliffVersionDetector::detect($tmp[0]);
147 147
         }
148 148
     }
149 149
 
@@ -165,10 +165,10 @@  discard block
 block discarded – undo
165 165
         // run CheckXliffProprietaryPipeline
166 166
         $pipeline = self::runPipeline($tmp);
167 167
 
168
-        self::$fileType['proprietary' ] = $pipeline['proprietary' ];
169
-        self::$fileType[ 'proprietary_name' ] = $pipeline['proprietary_name' ];
170
-        self::$fileType[ 'proprietary_short_name' ] = $pipeline['proprietary_short_name' ];
171
-        self::$fileType[ 'converter_version' ] = $pipeline['converter_version' ];
168
+        self::$fileType['proprietary'] = $pipeline['proprietary'];
169
+        self::$fileType['proprietary_name'] = $pipeline['proprietary_name'];
170
+        self::$fileType['proprietary_short_name'] = $pipeline['proprietary_short_name'];
171
+        self::$fileType['converter_version'] = $pipeline['converter_version'];
172 172
 
173 173
         return self::$fileType;
174 174
     }
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
 
196 196
                     //if file is not proprietary AND Enforce is disabled
197 197
                     //we take it as is
198
-                    if (!$fileType[ 'proprietary' ] || $memoryFileType) {
198
+                    if (!$fileType['proprietary'] || $memoryFileType) {
199 199
                         $convert = false;
200 200
                         //ok don't convert a standard sdlxliff
201 201
                     }
@@ -203,16 +203,16 @@  discard block
 block discarded – undo
203 203
                     //if conversion enforce is active
204 204
                     //we force all xliff files but not files produced by SDL Studio because we can handle them
205 205
                     if (
206
-                            $fileType[ 'proprietary_short_name' ] == 'matecat_converter'
207
-                            || $fileType[ 'proprietary_short_name' ] == 'trados'
208
-                            || $fileType[ 'proprietary_short_name' ] == 'xliff_v2'
206
+                            $fileType['proprietary_short_name'] == 'matecat_converter'
207
+                            || $fileType['proprietary_short_name'] == 'trados'
208
+                            || $fileType['proprietary_short_name'] == 'xliff_v2'
209 209
                             || $memoryFileType
210 210
                     ) {
211 211
                         $convert = false;
212 212
                         //ok don't convert a standard sdlxliff
213 213
                     }
214 214
                 }
215
-            } elseif ($fileType[ 'proprietary' ]) {
215
+            } elseif ($fileType['proprietary']) {
216 216
 
217 217
                 /**
218 218
                  * Application misconfiguration.
Please login to merge, or discard this patch.