|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / vendor / magento / framework / App / Console / |
Filename | /home/dev2.destoffenstraat.com/vendor/magento/framework/App/Console/MaintenanceModeEnabler.php |
Size | 2.43 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 07-Jan-2021 21:08 |
Last accessed | 23-Aug-2025 03:56 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Class MaintenanceMode * Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\App\Console;
use Magento\Framework\App\MaintenanceMode;
use Symfony\Component\Console\Output\OutputInterface;
/**
* Class MaintenanceModeEnabler
* @package Magento\Framework\App\Console
*/
class MaintenanceModeEnabler
{
/**
* @var MaintenanceMode
*/
private $maintenanceMode;
/**
* @var bool
*/
private $skipDisableMaintenanceMode;
/**
* @param MaintenanceMode $maintenanceMode
*/
public function __construct(MaintenanceMode $maintenanceMode)
{
$this->maintenanceMode = $maintenanceMode;
}
/**
* Enable maintenance mode
*
* @param OutputInterface $output
* @return void
*/
private function enableMaintenanceMode(OutputInterface $output)
{
if ($this->maintenanceMode->isOn()) {
$this->skipDisableMaintenanceMode = true;
$output->writeln('<info>Maintenance mode already enabled</info>');
return;
}
$this->maintenanceMode->set(true);
$this->skipDisableMaintenanceMode = false;
$output->writeln('<info>Enabling maintenance mode</info>');
}
/**
* Disable maintenance mode
*
* @param OutputInterface $output
* @return void
*/
private function disableMaintenanceMode(OutputInterface $output)
{
if ($this->skipDisableMaintenanceMode) {
$output->writeln('<info>Skipped disabling maintenance mode</info>');
return;
}
$this->maintenanceMode->set(false);
$output->writeln('<info>Disabling maintenance mode</info>');
}
/**
* Run task in maintenance mode
*
* @param callable $task
* @param OutputInterface $output
* @param bool $holdMaintenanceOnFailure
* @return mixed
* @throws \Throwable if error occurred
*/
public function executeInMaintenanceMode(callable $task, OutputInterface $output, bool $holdMaintenanceOnFailure)
{
$this->enableMaintenanceMode($output);
try {
$result = call_user_func($task);
} catch (\Throwable $e) {
if (!$holdMaintenanceOnFailure) {
$this->disableMaintenanceMode($output);
}
throw $e;
}
$this->disableMaintenanceMode($output);
return $result;
}
}
/**
* Class MaintenanceMode * Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\App\Console;
use Magento\Framework\App\MaintenanceMode;
use Symfony\Component\Console\Output\OutputInterface;
/**
* Class MaintenanceModeEnabler
* @package Magento\Framework\App\Console
*/
class MaintenanceModeEnabler
{
/**
* @var MaintenanceMode
*/
private $maintenanceMode;
/**
* @var bool
*/
private $skipDisableMaintenanceMode;
/**
* @param MaintenanceMode $maintenanceMode
*/
public function __construct(MaintenanceMode $maintenanceMode)
{
$this->maintenanceMode = $maintenanceMode;
}
/**
* Enable maintenance mode
*
* @param OutputInterface $output
* @return void
*/
private function enableMaintenanceMode(OutputInterface $output)
{
if ($this->maintenanceMode->isOn()) {
$this->skipDisableMaintenanceMode = true;
$output->writeln('<info>Maintenance mode already enabled</info>');
return;
}
$this->maintenanceMode->set(true);
$this->skipDisableMaintenanceMode = false;
$output->writeln('<info>Enabling maintenance mode</info>');
}
/**
* Disable maintenance mode
*
* @param OutputInterface $output
* @return void
*/
private function disableMaintenanceMode(OutputInterface $output)
{
if ($this->skipDisableMaintenanceMode) {
$output->writeln('<info>Skipped disabling maintenance mode</info>');
return;
}
$this->maintenanceMode->set(false);
$output->writeln('<info>Disabling maintenance mode</info>');
}
/**
* Run task in maintenance mode
*
* @param callable $task
* @param OutputInterface $output
* @param bool $holdMaintenanceOnFailure
* @return mixed
* @throws \Throwable if error occurred
*/
public function executeInMaintenanceMode(callable $task, OutputInterface $output, bool $holdMaintenanceOnFailure)
{
$this->enableMaintenanceMode($output);
try {
$result = call_user_func($task);
} catch (\Throwable $e) {
if (!$holdMaintenanceOnFailure) {
$this->disableMaintenanceMode($output);
}
throw $e;
}
$this->disableMaintenanceMode($output);
return $result;
}
}