From 46d58e65123d1cd470748d5e545a30432ea85411 Mon Sep 17 00:00:00 2001 From: acognet Date: Thu, 10 Mar 2022 09:59:56 +0100 Subject: [PATCH 1/4] =?UTF-8?q?N=C2=B04642=20-=20Core=20Update=20:=20limit?= =?UTF-8?q?=20the=20usage=20of=20this=20function=20-=20disable=20if=20new?= =?UTF-8?q?=20modules=20found?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Service/CoreUpdater.php | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php b/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php index 31648367e8..a1f6512061 100644 --- a/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php +++ b/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php @@ -9,6 +9,7 @@ namespace Combodo\iTop\CoreUpdate\Service; +use Combodo\iTop\FilesInformation\Service\FileIntegrityException; use Combodo\iTop\FilesInformation\Service\FilesIntegrity; use DBBackup; use Dict; @@ -535,7 +536,11 @@ final class CoreUpdater SetupLog::Info('itop-core-update: Archive extracted, check files integrity'); // Check files integrity - FilesIntegrity::CheckInstallationIntegrity(self::UPDATE_DIR.'web/'); + $sRootPath = self::UPDATE_DIR.'web/'; + FilesIntegrity::CheckInstallationIntegrity($sRootPath); + + ///Check new modules + self::CheckNewModules($sRootPath); SetupLog::Info('itop-core-update: Files integrity OK'); } catch (Exception $e) @@ -604,4 +609,37 @@ final class CoreUpdater throw $e; } } + + /** + * Throw an exception if there are new modules that were not already installed + * @param $sRootPath + * + * @throws \ApplicationException + * @since 2.7.7 3.0.1 + */ + private static function CheckNewModules($sRootPath) + { + $aFilesInfo = FilesIntegrity::GetInstalledFiles($sRootPath.'manifest.xml'); + + if ($aFilesInfo === false) { + throw new FileIntegrityException(Dict::Format('FilesInformation:Error:MissingFile', 'manifest.xml')); + } + + @clearstatcache(); + $sSourceDir = MetaModel::GetConfig()->Get('source_dir'); + foreach ($aFilesInfo as $aFileInfo) { + if (strpos($aFileInfo['path'], $sSourceDir) === 0) { + $aFilePath = explode('/', $aFileInfo['path']); + $sFolderPath = $aFilePath[0].'/'.$aFilePath[1].'/'.$aFilePath[2]; + //if module don't already exist in itop and if module listed in manifest.xml is included in zip + if (!is_dir(APPROOT.'/'.$sFolderPath) && !is_file(APPROOT.'/'.$sFolderPath) + && is_dir($sRootPath.'/'.$sFolderPath)) { + $sLink = utils::GetAbsoluteUrlAppRoot().'setup/'; + $sLinkManualUpdate = 'https://www.itophub.io/wiki/page?id='.utils::GetItopVersionWikiSyntax().'%3Ainstall%3Aupgrading_itop#manually'; + throw new FileIntegrityException(Dict::Format('FilesInformation:Error:CannotUpdateNewModules', $sLink, $sLinkManualUpdate).'::'.$aFilePath[2]); + } + } + // Packed with missing files... + } + } } From d122dbfdd66bfc329261e44706b52f9bdc5ec00e Mon Sep 17 00:00:00 2001 From: acognet Date: Thu, 10 Mar 2022 09:59:56 +0100 Subject: [PATCH 2/4] =?UTF-8?q?N=C2=B04642=20-=20Core=20Update=20:=20limit?= =?UTF-8?q?=20the=20usage=20of=20this=20function=20-=20disable=20if=20new?= =?UTF-8?q?=20modules=20found?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/da.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/de.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/en.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/it.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php | 2 +- datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php | 1 + datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php | 1 + 16 files changed, 16 insertions(+), 1 deletion(-) diff --git a/datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php index 61d1972239..2a6198138b 100644 --- a/datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/da.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/da.dict.itop-core-update.php index b4077e64e7..4902d8c30a 100644 --- a/datamodels/2.x/itop-core-update/da.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/da.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/de.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/de.dict.itop-core-update.php index 7b7ad813c7..0f38c7f223 100644 --- a/datamodels/2.x/itop-core-update/de.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/de.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Anwendungsupgrade nicht möglich: %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Einige angepasste Dateien wurden erkannt, eine Teil-Update kann nicht ausgeführt werden.
Befolgen Sie das Verfahren, um Ihr iTop manuell zu aktualisieren. Sie müssen das Setup benutzen, um Ihre Applikation zu aktualisieren.
', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Einige neue Module wurden erkannt, eine Teil-Update kann nicht ausgeführt werden.
Befolgen Sie das Verfahren, um Ihr iTop manuell zu aktualisieren. Sie müssen das Setup benutzen, um Ihre Applikation zu aktualisieren.
', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/en.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/en.dict.itop-core-update.php index 1382825a98..da1bd30501 100644 --- a/datamodels/2.x/itop-core-update/en.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/en.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('EN US', 'English', 'English', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php index 87c8cca41d..46b8861dde 100644 --- a/datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php @@ -77,6 +77,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'La aplicación no puede ser actualizada: %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Advertencia: la actualización de la aplicación puede fallar: %1$s', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php index 446d4823e3..d77588d577 100644 --- a/datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('FR FR', 'French', 'Français', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'L\'application ne peut pas être mise à jour : %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Attention : la mise à jour de l\'application peut échouer : %1$s', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Des fichiers modifiés ont été détectés, une mise à jour partielle ne peut pas être effectuée.
Suivez la procedure pour mettre à jour manuellement votre iTop. Vous devez utiliser la page d\'installation pour mettre à jour l\'application.', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'De nouveaux modules ont été détectés, une mise à jour partielle ne peut pas être effectuée.
Suivez la procedure pour mettre à jour manuellement votre iTop. Vous devez utiliser la page d\'installation pour mettre à jour l\'application.', 'iTopUpdate:UI:CheckInProgress'=>'Veuillez patienter pendant la vérification d\'intégrité', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php index 6fadd92eee..c3d4f21308 100644 --- a/datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/it.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/it.dict.itop-core-update.php index 6f5776ba54..385470b4f0 100644 --- a/datamodels/2.x/itop-core-update/it.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/it.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php index 176c05e8ed..cefb64e3dd 100644 --- a/datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php index dc253f7fa0..f7931969d2 100644 --- a/datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php @@ -78,6 +78,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Updaten van de toepassing is niet mogelijk: %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php index f5c480a3b4..c3e97c171e 100644 --- a/datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php index 72d32920e7..3ec38c4240 100644 --- a/datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php @@ -64,6 +64,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Приложение не может быть обновлено: %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php index 7d814f4f8e..6b70b3d9e5 100644 --- a/datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php b/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php index a1f6512061..a3c78d75d1 100644 --- a/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php +++ b/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php @@ -636,7 +636,7 @@ final class CoreUpdater && is_dir($sRootPath.'/'.$sFolderPath)) { $sLink = utils::GetAbsoluteUrlAppRoot().'setup/'; $sLinkManualUpdate = 'https://www.itophub.io/wiki/page?id='.utils::GetItopVersionWikiSyntax().'%3Ainstall%3Aupgrading_itop#manually'; - throw new FileIntegrityException(Dict::Format('FilesInformation:Error:CannotUpdateNewModules', $sLink, $sLinkManualUpdate).'::'.$aFilePath[2]); + throw new FileIntegrityException(Dict::Format('iTopUpdate:UI:CannotUpdateNewModules' , $sLink, $sLinkManualUpdate)); } } // Packed with missing files... diff --git a/datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php index 45383350f4..5b3dfb2a67 100644 --- a/datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array( 'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~', 'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages diff --git a/datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php b/datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php index 4fdd203987..c1676c95e9 100644 --- a/datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php +++ b/datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php @@ -76,6 +76,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array( 'iTopUpdate:UI:CanCoreUpdate:No' => '应用无法升级: %1$s', 'iTopUpdate:UI:CanCoreUpdate:Warning' => '警告: 应用升级可能会失败: %1$s', 'iTopUpdate:UI:CannotUpdateUseSetup' => 'Some modified files were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', + 'iTopUpdate:UI:CannotUpdateNewModules' => 'Some new modules were detected, a partial update cannot be executed.
Follow the procedure in order to manually upgrade your iTop. You must use the setup to update the application.~~', 'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~', // Setup Messages From 2d156bd77b369f47f1dedab10fa471bc9670e504 Mon Sep 17 00:00:00 2001 From: acognet Date: Thu, 10 Mar 2022 16:47:21 +0100 Subject: [PATCH 3/4] =?UTF-8?q?N=C2=B04642=20-=20Core=20Update=20:=20limit?= =?UTF-8?q?=20the=20usage=20of=20this=20function=20-=20disable=20if=20new?= =?UTF-8?q?=20modules=20found?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig b/datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig index 1cf402bc72..1d1a458d6d 100644 --- a/datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig +++ b/datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig @@ -64,7 +64,7 @@
- {{ sError }} + {{ sError|raw }}
From d29880b1b864db7a744c42d56ae2ef727fa27f2b Mon Sep 17 00:00:00 2001 From: Molkobain Date: Fri, 11 Mar 2022 17:52:10 +0100 Subject: [PATCH 4/4] Update PHPDoc --- datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php b/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php index a3c78d75d1..fdb98922ba 100644 --- a/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php +++ b/datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php @@ -611,8 +611,9 @@ final class CoreUpdater } /** - * Throw an exception if there are new modules that were not already installed - * @param $sRootPath + * Check if new modules (not already installed) are present, and throw an exception if that is the case as core update doesn't know how to install them automatically for know + * + * @param string $sRootPath * * @throws \ApplicationException * @since 2.7.7 3.0.1