From 81726730633f9f7dbd84b79c7d3ff78cdbd0d4e6 Mon Sep 17 00:00:00 2001 From: Eric Espie Date: Fri, 20 Feb 2026 15:15:17 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B08632=20-=20block=20parameter=20file=20fr?= =?UTF-8?q?om=20request?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/utils.inc.php | 1 - datamodels/2.x/itop-backup/check-backup.php | 16 ++++++++------- .../2.x/itop-backup/common.cli-execution.php | 12 +++++------ synchro/synchro_exec.php | 16 +++++++-------- synchro/synchro_import.php | 17 ++++++++-------- .../unitary-tests/application/utilsTest.php | 20 ++++++------------- webservices/cron.php | 20 +++++++++---------- webservices/export.php | 8 +++++--- webservices/import.php | 17 ++++++++-------- webservices/rest.php | 4 +--- 10 files changed, 62 insertions(+), 69 deletions(-) diff --git a/application/utils.inc.php b/application/utils.inc.php index 59a6aac5f..65849236b 100644 --- a/application/utils.inc.php +++ b/application/utils.inc.php @@ -181,7 +181,6 @@ class utils protected static function LoadParamFile($sParamFile) { - $sParamFile = self::AbsolutePath($sParamFile); if (!file_exists($sParamFile)) { throw new Exception("Could not find the parameter file: '".utils::HtmlEntities($sParamFile)."'"); } diff --git a/datamodels/2.x/itop-backup/check-backup.php b/datamodels/2.x/itop-backup/check-backup.php index 04dfada1e..b25bddccf 100644 --- a/datamodels/2.x/itop-backup/check-backup.php +++ b/datamodels/2.x/itop-backup/check-backup.php @@ -199,15 +199,17 @@ function RaiseAlarm($sMessage) ////////// // Main -try { - utils::UseParamFile(); -} catch (Exception $e) { - echo "Error: ".$e->GetMessage()."\n"; - exit; -} + if (utils::IsModeCLI()) { - SetupUtils::CheckPhpAndExtensionsForCli(new CLIPage('Check backup utility')); + try { + utils::UseParamFile(); + } catch (Exception $e) { + echo 'Error: '.$e->GetMessage()."\n"; + exit; + } + $oP = new CLIPage('Check backup utility'); + SetupUtils::CheckPhpAndExtensionsForCli($oP); echo date('Y-m-d H:i:s')." - running check-backup utility\n"; try { diff --git a/datamodels/2.x/itop-backup/common.cli-execution.php b/datamodels/2.x/itop-backup/common.cli-execution.php index 756896066..ef6f51b97 100644 --- a/datamodels/2.x/itop-backup/common.cli-execution.php +++ b/datamodels/2.x/itop-backup/common.cli-execution.php @@ -88,16 +88,16 @@ if (utils::IsModeCLI()) { $oP = new CLIPage(GetOperationName()); SetupUtils::CheckPhpAndExtensionsForCli($oP); + try { + utils::UseParamFile(); + } + catch (Exception $e) { + ExitError($oP, $e->GetMessage()); + } } else { $oP = new WebPage(GetOperationName()); } -try { - utils::UseParamFile(); -} catch (Exception $e) { - ExitError($oP, $e->GetMessage()); -} - ExecuteMainOperation($oP); $oP->output(); diff --git a/synchro/synchro_exec.php b/synchro/synchro_exec.php index 1fb5fd43a..3e3a7fb9e 100644 --- a/synchro/synchro_exec.php +++ b/synchro/synchro_exec.php @@ -67,18 +67,18 @@ function ReadMandatoryParam($oP, $sParam, $sSanitizationFilter = 'parameter') if (utils::IsModeCLI()) { $oP = new CLIPage(Dict::S("TitleSynchroExecution")); SetupUtils::CheckPhpAndExtensionsForCli($oP, -2); + + try { + utils::UseParamFile(); + } catch (Exception $e) { + $oP->p('Error: '.$e->GetMessage()); + $oP->output(); + exit - 2; + } } else { $oP = new WebPage(Dict::S("TitleSynchroExecution")); } -try { - utils::UseParamFile(); -} catch (Exception $e) { - $oP->p("Error: ".$e->GetMessage()); - $oP->output(); - exit -2; -} - if (utils::IsModeCLI()) { $sAuthUser = ReadMandatoryParam($oP, 'auth_user', 'raw_data'); $sAuthPwd = ReadMandatoryParam($oP, 'auth_pwd', 'raw_data'); diff --git a/synchro/synchro_import.php b/synchro/synchro_import.php index eccc5f40f..b3b2596d7 100644 --- a/synchro/synchro_import.php +++ b/synchro/synchro_import.php @@ -224,18 +224,19 @@ function ChangeDateFormat($sProposedDate, $sFormat, $bDateOnly) if (utils::IsModeCLI()) { $oP = new CLIPage(Dict::S('TitleSynchroExecution')); SetupUtils::CheckPhpAndExtensionsForCli($oP, -2); + + try { + utils::UseParamFile(); + } + catch (Exception $e) { + $oP->p('Error: '.$e->GetMessage()); + $oP->output(); + exit - 2; + } } else { $oP = new CLILikeWebPage(Dict::S('TitleSynchroExecution')); } -try { - utils::UseParamFile(); -} catch (Exception $e) { - $oP->p("Error: ".$e->GetMessage()); - $oP->output(); - exit -2; -} - if (utils::IsModeCLI()) { // Next steps: // specific arguments: 'csvfile' diff --git a/tests/php-unit-tests/unitary-tests/application/utilsTest.php b/tests/php-unit-tests/unitary-tests/application/utilsTest.php index 0d285d4db..f82515aad 100644 --- a/tests/php-unit-tests/unitary-tests/application/utilsTest.php +++ b/tests/php-unit-tests/unitary-tests/application/utilsTest.php @@ -999,28 +999,20 @@ HTML, public function testLoadParamFile() { - $sTmpFileOutsideItop = tempnam(sys_get_temp_dir(), 'utils'); - $sParamName = 'param_test_p1'; - $sParamValue = 'My own value'; + $sTmpFileInsideItop = APPROOT.'env-production/itop-backup/backup.params.distrib'; + $sParamName = 'auth_user'; + $sParamValue = 'admin'; + + $sTmpFileOutsideItop = tempnam(sys_get_temp_dir(), 'utils-test'); $sParams = <<GetMessage()."
\n"; + echo "Error: ".$e->GetMessage()."\n"; exit(EXIT_CODE_FATAL); } diff --git a/webservices/import.php b/webservices/import.php index 807011a6b..c0fffcbf6 100644 --- a/webservices/import.php +++ b/webservices/import.php @@ -208,18 +208,19 @@ $oCtx = new ContextTag(ContextTag::TAG_IMPORT); if (utils::IsModeCLI()) { $oP = new CLIPage("iTop - Bulk import"); SetupUtils::CheckPhpAndExtensionsForCli($oP, -2); + + try { + utils::UseParamFile(); + } + catch (Exception $e) { + $oP->p('Error: '.$e->GetMessage()); + $oP->output(); + exit(-2); + } } else { $oP = new CSVPage("iTop - Bulk import"); } -try { - utils::UseParamFile(); -} catch (Exception $e) { - $oP->p("Error: ".$e->GetMessage()); - $oP->output(); - exit(-2); -} - if (utils::IsModeCLI()) { // Next steps: // specific arguments: 'csvfile' diff --git a/webservices/rest.php b/webservices/rest.php index 878a3e9fa..9b164bb30 100644 --- a/webservices/rest.php +++ b/webservices/rest.php @@ -91,10 +91,8 @@ if (empty($sJsonString)) { $sProvider = ''; -$oKPI = new ExecutionKPI(); try { - utils::UseParamFile(); - + $oKPI = new ExecutionKPI(); $oKPI->ComputeAndReport('Data model loaded'); // N°6358 - force credentials for REST calls