@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | * @param string|null $xliffProprietary |
| 38 | 38 | * @param LoggerInterface|null $logger |
| 39 | 39 | */ |
| 40 | - public function __construct( $xliffVersion, $xliffProprietary = null, LoggerInterface $logger = null ) { |
|
| 40 | + public function __construct($xliffVersion, $xliffProprietary = null, LoggerInterface $logger = null) { |
|
| 41 | 41 | $this->xliffVersion = $xliffVersion; |
| 42 | 42 | $this->logger = $logger; |
| 43 | 43 | $this->xliffProprietary = $xliffProprietary; |
@@ -47,7 +47,7 @@ discard block |
||
| 47 | 47 | * @return string |
| 48 | 48 | */ |
| 49 | 49 | protected function getTuTagName() { |
| 50 | - return ( $this->xliffVersion === 1 ) ? 'trans-unit' : 'unit'; |
|
| 50 | + return ($this->xliffVersion === 1) ? 'trans-unit' : 'unit'; |
|
| 51 | 51 | } |
| 52 | 52 | |
| 53 | 53 | /** |
@@ -55,7 +55,7 @@ discard block |
||
| 55 | 55 | * |
| 56 | 56 | * @return array |
| 57 | 57 | */ |
| 58 | - abstract public function parse( DOMDocument $dom, $output = [] ); |
|
| 58 | + abstract public function parse(DOMDocument $dom, $output = []); |
|
| 59 | 59 | |
| 60 | 60 | /** |
| 61 | 61 | * Extract trans-unit content from the current node |
@@ -70,17 +70,17 @@ discard block |
||
| 70 | 70 | * @param int $recursionLevel |
| 71 | 71 | * |
| 72 | 72 | */ |
| 73 | - protected function extractTuFromNode( DOMNode $childNode, &$transUnitIdArrayForUniquenessCheck, DOMDocument $dom, &$output, &$i, &$j, $contextGroups = [], $recursionLevel = 0 ) { |
|
| 73 | + protected function extractTuFromNode(DOMNode $childNode, &$transUnitIdArrayForUniquenessCheck, DOMDocument $dom, &$output, &$i, &$j, $contextGroups = [], $recursionLevel = 0) { |
|
| 74 | 74 | |
| 75 | - if ( $childNode->nodeType != XML_ELEMENT_NODE ) { |
|
| 75 | + if ($childNode->nodeType != XML_ELEMENT_NODE) { |
|
| 76 | 76 | return; |
| 77 | 77 | } |
| 78 | 78 | |
| 79 | - if ( $childNode->nodeName === 'group' ) { |
|
| 79 | + if ($childNode->nodeName === 'group') { |
|
| 80 | 80 | |
| 81 | 81 | // add nested context-groups |
| 82 | - foreach ( $childNode->childNodes as $nestedChildNode ) { |
|
| 83 | - if ( $nestedChildNode->nodeName === 'context-group' ) { |
|
| 82 | + foreach ($childNode->childNodes as $nestedChildNode) { |
|
| 83 | + if ($nestedChildNode->nodeName === 'context-group') { |
|
| 84 | 84 | $contextGroups[] = $nestedChildNode; |
| 85 | 85 | } |
| 86 | 86 | } |
@@ -88,23 +88,23 @@ discard block |
||
| 88 | 88 | // avoid infinite recursion |
| 89 | 89 | $recursionLevel++; |
| 90 | 90 | |
| 91 | - foreach ( $childNode->childNodes as $nestedChildNode ) { |
|
| 91 | + foreach ($childNode->childNodes as $nestedChildNode) { |
|
| 92 | 92 | |
| 93 | 93 | // nested groups |
| 94 | - if ( $nestedChildNode->nodeName === 'group' ) { |
|
| 94 | + if ($nestedChildNode->nodeName === 'group') { |
|
| 95 | 95 | |
| 96 | - if ( $recursionLevel < self::MAX_GROUP_RECURSION_LEVEL ) { |
|
| 97 | - $this->extractTuFromNode( $nestedChildNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j, $contextGroups, $recursionLevel ); |
|
| 96 | + if ($recursionLevel < self::MAX_GROUP_RECURSION_LEVEL) { |
|
| 97 | + $this->extractTuFromNode($nestedChildNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j, $contextGroups, $recursionLevel); |
|
| 98 | 98 | } else { |
| 99 | - throw new OverflowException( "Maximum tag group nesting level of '" . self::MAX_GROUP_RECURSION_LEVEL . "' reached, aborting!" ); |
|
| 99 | + throw new OverflowException("Maximum tag group nesting level of '" . self::MAX_GROUP_RECURSION_LEVEL . "' reached, aborting!"); |
|
| 100 | 100 | } |
| 101 | 101 | |
| 102 | - } elseif ( $nestedChildNode->nodeName === $this->getTuTagName() ) { |
|
| 103 | - $this->extractTransUnit( $nestedChildNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j, $contextGroups ); |
|
| 102 | + } elseif ($nestedChildNode->nodeName === $this->getTuTagName()) { |
|
| 103 | + $this->extractTransUnit($nestedChildNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j, $contextGroups); |
|
| 104 | 104 | } |
| 105 | 105 | } |
| 106 | - } elseif ( $childNode->nodeName === $this->getTuTagName() ) { |
|
| 107 | - $this->extractTransUnit( $childNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j, $contextGroups ); |
|
| 106 | + } elseif ($childNode->nodeName === $this->getTuTagName()) { |
|
| 107 | + $this->extractTransUnit($childNode, $transUnitIdArrayForUniquenessCheck, $dom, $output, $i, $j, $contextGroups); |
|
| 108 | 108 | } |
| 109 | 109 | } |
| 110 | 110 | |
@@ -121,7 +121,7 @@ discard block |
||
| 121 | 121 | * |
| 122 | 122 | * @return mixed |
| 123 | 123 | */ |
| 124 | - abstract protected function extractTransUnit( DOMElement $transUnit, &$transUnitIdArrayForUniquenessCheck, $dom, &$output, &$i, &$j, $contextGroups = [] ); |
|
| 124 | + abstract protected function extractTransUnit(DOMElement $transUnit, &$transUnitIdArrayForUniquenessCheck, $dom, &$output, &$i, &$j, $contextGroups = []); |
|
| 125 | 125 | |
| 126 | 126 | /** |
| 127 | 127 | * @param DOMDocument $dom |
@@ -129,10 +129,10 @@ discard block |
||
| 129 | 129 | * |
| 130 | 130 | * @return array |
| 131 | 131 | */ |
| 132 | - protected function extractContent( DOMDocument $dom, DOMNode $node ) { |
|
| 132 | + protected function extractContent(DOMDocument $dom, DOMNode $node) { |
|
| 133 | 133 | return [ |
| 134 | - 'raw-content' => $this->extractTagContent( $dom, $node ), |
|
| 135 | - 'attr' => $this->extractTagAttributes( $node ) |
|
| 134 | + 'raw-content' => $this->extractTagContent($dom, $node), |
|
| 135 | + 'attr' => $this->extractTagAttributes($node) |
|
| 136 | 136 | ]; |
| 137 | 137 | } |
| 138 | 138 | |
@@ -149,12 +149,12 @@ discard block |
||
| 149 | 149 | * |
| 150 | 150 | * @return array |
| 151 | 151 | */ |
| 152 | - protected function extractTagAttributes( DOMNode $element ) { |
|
| 152 | + protected function extractTagAttributes(DOMNode $element) { |
|
| 153 | 153 | $tagAttributes = []; |
| 154 | 154 | |
| 155 | - if ( $element->hasAttributes() ) { |
|
| 156 | - foreach ( $element->attributes as $attr ) { |
|
| 157 | - $tagAttributes[ $attr->nodeName ] = $attr->nodeValue; |
|
| 155 | + if ($element->hasAttributes()) { |
|
| 156 | + foreach ($element->attributes as $attr) { |
|
| 157 | + $tagAttributes[$attr->nodeName] = $attr->nodeValue; |
|
| 158 | 158 | } |
| 159 | 159 | } |
| 160 | 160 | |
@@ -169,17 +169,17 @@ discard block |
||
| 169 | 169 | * |
| 170 | 170 | * @return string |
| 171 | 171 | */ |
| 172 | - protected function extractTagContent( DOMDocument $dom, DOMNode $element ) { |
|
| 172 | + protected function extractTagContent(DOMDocument $dom, DOMNode $element) { |
|
| 173 | 173 | $childNodes = $element->hasChildNodes(); |
| 174 | 174 | $extractedContent = ''; |
| 175 | 175 | |
| 176 | - if ( !empty( $childNodes ) ) { |
|
| 177 | - foreach ( $element->childNodes as $node ) { |
|
| 178 | - $extractedContent .= Emoji::toEntity( Strings::fixNonWellFormedXml( $dom->saveXML( $node ) ) ); |
|
| 176 | + if (!empty($childNodes)) { |
|
| 177 | + foreach ($element->childNodes as $node) { |
|
| 178 | + $extractedContent .= Emoji::toEntity(Strings::fixNonWellFormedXml($dom->saveXML($node))); |
|
| 179 | 179 | } |
| 180 | 180 | } |
| 181 | 181 | |
| 182 | - return str_replace( Placeholder::EMPTY_TAG_PLACEHOLDER, '', $extractedContent ); |
|
| 182 | + return str_replace(Placeholder::EMPTY_TAG_PLACEHOLDER, '', $extractedContent); |
|
| 183 | 183 | } |
| 184 | 184 | |
| 185 | 185 | /** |
@@ -190,45 +190,45 @@ discard block |
||
| 190 | 190 | * |
| 191 | 191 | * @return array |
| 192 | 192 | */ |
| 193 | - protected function extractContentWithMarksAndExtTags( DOMDocument $dom, DOMElement $childNode ) { |
|
| 193 | + protected function extractContentWithMarksAndExtTags(DOMDocument $dom, DOMElement $childNode) { |
|
| 194 | 194 | $source = []; |
| 195 | 195 | |
| 196 | 196 | // example: |
| 197 | 197 | // <g id="1"><mrk mid="0" mtype="seg">An English string with g tags</mrk></g> |
| 198 | - $raw = $this->extractTagContent( $dom, $childNode ); |
|
| 198 | + $raw = $this->extractTagContent($dom, $childNode); |
|
| 199 | 199 | |
| 200 | - $markers = preg_split( '#<mrk\s#si', $raw, -1 ); |
|
| 200 | + $markers = preg_split('#<mrk\s#si', $raw, -1); |
|
| 201 | 201 | |
| 202 | 202 | $mi = 0; |
| 203 | - while ( isset( $markers[ $mi + 1 ] ) ) { |
|
| 204 | - unset( $mid ); |
|
| 203 | + while (isset($markers[$mi + 1])) { |
|
| 204 | + unset($mid); |
|
| 205 | 205 | |
| 206 | - preg_match( '|mid\s?=\s?["\'](.*?)["\']|si', $markers[ $mi + 1 ], $mid ); |
|
| 206 | + preg_match('|mid\s?=\s?["\'](.*?)["\']|si', $markers[$mi + 1], $mid); |
|
| 207 | 207 | |
| 208 | 208 | // if it's a Trados file the trailing spaces after </mrk> are meaningful |
| 209 | 209 | // so we add them to |
| 210 | 210 | $trailingSpaces = ''; |
| 211 | - if ( $this->xliffProprietary === 'trados' ) { |
|
| 212 | - preg_match_all( '/<\/mrk>[\s]+/iu', $markers[ $mi + 1 ], $trailingSpacesMatches ); |
|
| 211 | + if ($this->xliffProprietary === 'trados') { |
|
| 212 | + preg_match_all('/<\/mrk>[\s]+/iu', $markers[$mi + 1], $trailingSpacesMatches); |
|
| 213 | 213 | |
| 214 | - if ( isset( $trailingSpacesMatches[ 0 ] ) && count( $trailingSpacesMatches[ 0 ] ) > 0 ) { |
|
| 215 | - foreach ( $trailingSpacesMatches[ 0 ] as $match ) { |
|
| 216 | - $trailingSpaces = str_replace( '</mrk>', '', $match ); |
|
| 214 | + if (isset($trailingSpacesMatches[0]) && count($trailingSpacesMatches[0]) > 0) { |
|
| 215 | + foreach ($trailingSpacesMatches[0] as $match) { |
|
| 216 | + $trailingSpaces = str_replace('</mrk>', '', $match); |
|
| 217 | 217 | } |
| 218 | 218 | } |
| 219 | 219 | } |
| 220 | 220 | |
| 221 | 221 | //re-build the mrk tag after the split |
| 222 | - $originalMark = trim( '<mrk ' . $markers[ $mi + 1 ] ); |
|
| 222 | + $originalMark = trim('<mrk ' . $markers[$mi + 1]); |
|
| 223 | 223 | |
| 224 | - $mark_string = preg_replace( '#^<mrk\s[^>]+>(.*)#', '$1', $originalMark ); // at this point we have: ---> 'Test </mrk> </g>>' |
|
| 225 | - $mark_content = preg_split( '#</mrk>#si', $mark_string ); |
|
| 224 | + $mark_string = preg_replace('#^<mrk\s[^>]+>(.*)#', '$1', $originalMark); // at this point we have: ---> 'Test </mrk> </g>>' |
|
| 225 | + $mark_content = preg_split('#</mrk>#si', $mark_string); |
|
| 226 | 226 | |
| 227 | 227 | $sourceArray = [ |
| 228 | - 'mid' => ( isset( $mid[ 1 ] ) ) ? $mid[ 1 ] : $mi, |
|
| 229 | - 'ext-prec-tags' => ( $mi == 0 ? $markers[ 0 ] : "" ), |
|
| 230 | - 'raw-content' => ( isset( $mark_content[ 0 ] ) ) ? $mark_content[ 0 ] . $trailingSpaces : '', |
|
| 231 | - 'ext-succ-tags' => ( isset( $mark_content[ 1 ] ) ) ? $mark_content[ 1 ] : '', |
|
| 228 | + 'mid' => (isset($mid[1])) ? $mid[1] : $mi, |
|
| 229 | + 'ext-prec-tags' => ($mi == 0 ? $markers[0] : ""), |
|
| 230 | + 'raw-content' => (isset($mark_content[0])) ? $mark_content[0] . $trailingSpaces : '', |
|
| 231 | + 'ext-succ-tags' => (isset($mark_content[1])) ? $mark_content[1] : '', |
|
| 232 | 232 | ]; |
| 233 | 233 | |
| 234 | 234 | $source[] = $sourceArray; |
@@ -244,12 +244,12 @@ discard block |
||
| 244 | 244 | * |
| 245 | 245 | * @return array |
| 246 | 246 | */ |
| 247 | - protected function getDataRefMap( $originalData ) { |
|
| 247 | + protected function getDataRefMap($originalData) { |
|
| 248 | 248 | // dataRef map |
| 249 | 249 | $dataRefMap = []; |
| 250 | - foreach ( $originalData as $datum ) { |
|
| 251 | - if ( isset( $datum[ 'attr' ][ 'id' ] ) ) { |
|
| 252 | - $dataRefMap[ $datum[ 'attr' ][ 'id' ] ] = $datum[ 'raw-content' ]; |
|
| 250 | + foreach ($originalData as $datum) { |
|
| 251 | + if (isset($datum['attr']['id'])) { |
|
| 252 | + $dataRefMap[$datum['attr']['id']] = $datum['raw-content']; |
|
| 253 | 253 | } |
| 254 | 254 | } |
| 255 | 255 | |
@@ -261,10 +261,10 @@ discard block |
||
| 261 | 261 | * |
| 262 | 262 | * @return bool |
| 263 | 263 | */ |
| 264 | - protected function stringContainsMarks( $raw ) { |
|
| 265 | - $markers = preg_split( '#<mrk\s#si', $raw, -1 ); |
|
| 264 | + protected function stringContainsMarks($raw) { |
|
| 265 | + $markers = preg_split('#<mrk\s#si', $raw, -1); |
|
| 266 | 266 | |
| 267 | - return isset( $markers[ 1 ] ); |
|
| 267 | + return isset($markers[1]); |
|
| 268 | 268 | } |
| 269 | 269 | |
| 270 | 270 | /** |
@@ -274,7 +274,7 @@ discard block |
||
| 274 | 274 | * @return array |
| 275 | 275 | * @throws \Exception |
| 276 | 276 | */ |
| 277 | - protected function JSONOrRawContentArray( $noteValue, $escapeStrings = true ) { |
|
| 277 | + protected function JSONOrRawContentArray($noteValue, $escapeStrings = true) { |
|
| 278 | 278 | // |
| 279 | 279 | // convert double escaped entites |
| 280 | 280 | // |
@@ -284,17 +284,17 @@ discard block |
||
| 284 | 284 | // &amp; ---> & |
| 285 | 285 | // &apos ---> ' |
| 286 | 286 | // |
| 287 | - if ( Strings::isADoubleEscapedEntity( $noteValue ) ) { |
|
| 288 | - $noteValue = Strings::htmlspecialchars_decode( $noteValue, true ); |
|
| 287 | + if (Strings::isADoubleEscapedEntity($noteValue)) { |
|
| 288 | + $noteValue = Strings::htmlspecialchars_decode($noteValue, true); |
|
| 289 | 289 | } else { |
| 290 | 290 | // for non escaped entities $escapeStrings is always true for security reasons |
| 291 | 291 | $escapeStrings = true; |
| 292 | 292 | } |
| 293 | 293 | |
| 294 | - if ( Strings::isJSON( $noteValue ) ) { |
|
| 295 | - return [ 'json' => Strings::cleanCDATA( $noteValue ) ]; |
|
| 294 | + if (Strings::isJSON($noteValue)) { |
|
| 295 | + return ['json' => Strings::cleanCDATA($noteValue)]; |
|
| 296 | 296 | } |
| 297 | 297 | |
| 298 | - return [ 'raw-content' => Strings::fixNonWellFormedXml( $noteValue, $escapeStrings ) ]; |
|
| 298 | + return ['raw-content' => Strings::fixNonWellFormedXml($noteValue, $escapeStrings)]; |
|
| 299 | 299 | } |
| 300 | 300 | } |