![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/CoreBundle/Update/Step/ |
<?php declare(strict_types=1); namespace Mautic\CoreBundle\Update\Step; use Mautic\CoreBundle\Exception\UpdateFailedException; use Mautic\CoreBundle\Helper\Update\PreUpdateChecks\PreUpdateCheckError; use Mautic\CoreBundle\Helper\UpdateHelper; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Contracts\Translation\TranslatorInterface; final class PreUpdateChecksStep implements StepInterface { public function __construct( private TranslatorInterface $translator, private UpdateHelper $updateHelper ) { } public function getOrder(): int { return 0; } public function shouldExecuteInFinalStage(): bool { return false; } /** * @throws UpdateFailedException */ public function execute(ProgressBar $progressBar, InputInterface $input, OutputInterface $output): void { /** * We can't easily fetch data about an update package without unzipping it first, so for now * we skip the pre-update checks if the user manually provides an update package. */ if (!empty($input->getOption('update-package'))) { return; } $results = $this->updateHelper->runPreUpdateChecks(); $errors = []; $progressBar->setMessage($this->translator->trans('mautic.core.command.update.step.checks')); $progressBar->advance(); foreach ($results as $result) { if (!$result->success) { $errors = array_merge($errors, array_map(fn (PreUpdateCheckError $error) => $this->translator->trans($error->key, $error->parameters), $result->errors)); } } if (!empty($errors)) { $errorString = ''; foreach ($errors as $error) { $errorString .= "- $error\n"; } throw new UpdateFailedException($this->translator->trans('mautic.core.update.check.error')."\n".$errorString); } } }