Skip to content
Snippets Groups Projects
Commit b25c5415 authored by Sascha Egerer's avatar Sascha Egerer Committed by Helmut Hummel
Browse files

[BUGFIX] InvalidXmlFileException for invalid locallang.xml

Throw a meaningful InvalidXmlFileException when an invalid locallang.xml
file is detected.

Resolves: #79908
Releases: master, 7.6
Change-Id: Idc5586166d2475edeaeef407128525ea57fb9a09
Reviewed-on: https://review.typo3.org/51761


Reviewed-by: default avatarStephan Großberndt <stephan@grossberndt.de>
Tested-by: default avatarStephan Großberndt <stephan@grossberndt.de>
Reviewed-by: default avatarThomas Hohn <thomas@hohn.dk>
Reviewed-by: default avatarAnders Kostending <aha@systime.dk>
Tested-by: default avatarTYPO3com <no-reply@typo3.com>
Reviewed-by: default avatarFaton Haliti <fha@systime.dk>
Tested-by: default avatarFaton Haliti <fha@systime.dk>
Reviewed-by: default avatarHelmut Hummel <typo3@helhum.io>
Tested-by: default avatarHelmut Hummel <typo3@helhum.io>
parent e36479d7
Branches
Tags
No related merge requests found
...@@ -17,6 +17,7 @@ namespace TYPO3\CMS\Core\Localization\Parser; ...@@ -17,6 +17,7 @@ namespace TYPO3\CMS\Core\Localization\Parser;
use TYPO3\CMS\Core\Localization\Exception\InvalidXmlFileException; use TYPO3\CMS\Core\Localization\Exception\InvalidXmlFileException;
use TYPO3\CMS\Core\Utility\ArrayUtility; use TYPO3\CMS\Core\Utility\ArrayUtility;
use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Utility\PathUtility;
/** /**
* Parser for XML locallang file. * Parser for XML locallang file.
...@@ -65,10 +66,15 @@ class LocallangXmlParser extends AbstractXmlParser ...@@ -65,10 +66,15 @@ class LocallangXmlParser extends AbstractXmlParser
* @param \SimpleXMLElement $root XML root element * @param \SimpleXMLElement $root XML root element
* @param string $element Target or Source * @param string $element Target or Source
* @return array * @return array
* @throws InvalidXmlFileException
*/ */
protected function doParsingFromRootForElement(\SimpleXMLElement $root, $element) protected function doParsingFromRootForElement(\SimpleXMLElement $root, $element)
{ {
$bodyOfFileTag = $root->data->languageKey; $bodyOfFileTag = $root->data->languageKey;
if ($bodyOfFileTag === null) {
throw new InvalidXmlFileException('Invalid locallang.xml language file "' . PathUtility::stripPathSitePrefix($this->sourcePath) . '"', 1487944884);
}
// Check if the source llxml file contains localized records // Check if the source llxml file contains localized records
$localizedBodyOfFileTag = $root->data->xpath('languageKey[@index=\'' . $this->languageKey . '\']'); $localizedBodyOfFileTag = $root->data->xpath('languageKey[@index=\'' . $this->languageKey . '\']');
if ($element === 'source' || $this->languageKey === 'default') { if ($element === 'source' || $this->languageKey === 'default') {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment