CheckDependencies()) { return true; } else { return false; } } public function UpdateWizardStateAndGetNextStep($bMoveForward = true): WizardState { return new WizardState(WizStepSummary::class); } public function CanComeBack() { return false; } public function Display(SetupPage $oPage): void { $aInstallParams = $this->BuildConfig(); $this->AddProgressBar($oPage, 'Progress of the verification'); $sJSONData = json_encode($aInstallParams); $oPage->add(''); $sAuthentToken = $this->oWizard->GetParameter('authent', ''); $oPage->add(''); if (!$this->CheckDependencies()) { $oPage->error($this->sDependencyIssue); $oPage->add_ready_script(<<add_ready_script(<< '[]', 'selected_extensions' => '[]', 'display_choices' => '[]', 'added_extensions' => '[]', 'removed_extensions' => '[]', 'extensions_not_uninstallable' => '[]', 'copy_setup_files' => 1, ]; $aHiddenInputs = ''; foreach ($aParams as $sParamName => $defaultValue) { $sElements = utils::HtmlEntities($this->oWizard->GetParameter($sParamName, $defaultValue)); $sParamName = utils::HtmlEntities($sParamName); $aHiddenInputs .= << INPUT; } $sUID = Session::Get('setup_token'); $oPage->add( << $aHiddenInputs HTML ); } protected function AddProgressErrorScript($oPage, $aRes) { if (isset($aRes['error_code']) && $aRes['error_code'] === DataAuditSequencer::DATA_AUDIT_FAILED) { $oPage->add_ready_script( <<'); $('#ignore_and_continue').on('click', function() { return confirm("If you skip the cleanup you won't be able to run the process later. You'll have to migrate or delete unconsistent data manually."); }); $('.ibo-setup--wizard--buttons-container tr td:nth-child(2)').after(' '); $('#goto-data-feature-removal').on("click", function() { $('#goto-data-feature-removal').prop('disabled', true); $('#submit-wait').removeClass("ibo-is-hidden"); $('#data-feature-removal').submit(); }); $("#wiz_form").data("installation_status", "cleanup_needed"); $('#btn_next').hide(); EOF ); } } public function JSCanMoveForward() { return 'return ["completed", "cleanup_needed"].indexOf($("#wiz_form").data("installation_status")) !== -1;'; } public function JSCanMoveBackward() { return 'return ["not started", "error", "cleanup_needed"].indexOf($("#wiz_form").data("installation_status")) !== -1;'; } }