From 1128490d47f68ba1ac2dc4d3b46adaa533b37f05 Mon Sep 17 00:00:00 2001 From: Molkobain Date: Mon, 17 May 2021 17:51:08 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B02982=20-=20Branding:=20Theme=20imports?= =?UTF-8?q?=20with=20no=20xsi:type=20are=20ignored?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup/compiler.class.inc.php | 16 +++++++--------- test/setup/MFCompilerTest.php | 6 +++--- .../ressources/datamodels/datamodel-branding.xml | 6 +++--- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/setup/compiler.class.inc.php b/setup/compiler.class.inc.php index 47ca52ad2..82b542696 100644 --- a/setup/compiler.class.inc.php +++ b/setup/compiler.class.inc.php @@ -2836,24 +2836,22 @@ EOF; /** @var \DOMNodeList $oVariables */ $oVariables = $oTheme->GetNodes('variables/variable'); - foreach($oVariables as $oVariable) - { + foreach ($oVariables as $oVariable) { $sVariableId = $oVariable->getAttribute('id'); $aThemeParameters['variables'][$sVariableId] = $oVariable->GetText(); } /** @var \DOMNodeList $oImports */ $oImports = $oTheme->GetNodes('imports/import'); - foreach($oImports as $oImport) - { + foreach ($oImports as $oImport) { $sImportId = $oImport->getAttribute('id'); - if($oImport->getAttribute('xsi:type') === 'variables') - { + $sImportType = $oImport->getAttribute('xsi:type'); + if ($sImportType === 'variables') { $aThemeParameters['variable_imports'][$sImportId] = $oImport->GetText(); - } - else - { + } elseif ($sImportType === 'utilities') { $aThemeParameters['utility_imports'][$sImportId] = $oImport->GetText(); + } else { + SetupLog::Warning('CompileThemes: Theme #'.$sThemeId.' has an import (#'.$sImportId.') without explicit xsi:type, it will be ignored. Check Datamodel XML Reference to fix it.'); } } diff --git a/test/setup/MFCompilerTest.php b/test/setup/MFCompilerTest.php index 6e81789a3..b4ae72dfb 100644 --- a/test/setup/MFCompilerTest.php +++ b/test/setup/MFCompilerTest.php @@ -173,11 +173,11 @@ class MFCompilerTest extends ItopTestCase { 'ibo-page-banner--text-color' => '$ibo-color-red-100', 'ibo-page-banner--text-content' => '"THIS IS A TEST INSTANCE"', ], - 'variable_imports' => [ 'style2' => 'style2.scss'], - 'utility_imports' => [ 'style1' => 'style1.scss', 'style3' => 'style3.scss'], + 'variable_imports' => ['ok-because-xsi-type-variables' => 'ok-because-xsi-type-variables.scss'], + 'utility_imports' => ['ok-because-xsi-type-utilities' => 'ok-because-xsi-type-utilities.scss'], 'stylesheets' => [ "fullmoon" => '../css/backoffice/main.scss', - "environment-banner" => '../css/backoffice/themes/page-banner.scss' + "environment-banner" => '../css/backoffice/themes/page-banner.scss', ], ]; diff --git a/test/setup/ressources/datamodels/datamodel-branding.xml b/test/setup/ressources/datamodels/datamodel-branding.xml index 210165e14..ad3623175 100644 --- a/test/setup/ressources/datamodels/datamodel-branding.xml +++ b/test/setup/ressources/datamodels/datamodel-branding.xml @@ -9,9 +9,9 @@ "THIS IS A TEST INSTANCE" - style1.scss - style2.scss - style3.scss + ignored-because-lack-xsi-type.scss + ok-because-xsi-type-variables.scss + ok-because-xsi-type-utilities.scss ../css/backoffice/main.scss