<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Setup\Controller; use Magento\Framework\App\MaintenanceMode; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\JsonModel; use Zend\Json\Json; class Maintenance extends AbstractActionController { /** * Handler for maintenance mode * * @var MaintenanceMode */ private $maintenanceMode; /** * Constructor * * @param MaintenanceMode $maintenanceMode */ public function __construct(MaintenanceMode $maintenanceMode) { $this->maintenanceMode = $maintenanceMode; } /** * Puts store in maintenance mode * * @return JsonModel */ public function indexAction() { try { $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY); $action = isset($params['disable']) && $params['disable'] ? false : true; $this->maintenanceMode->set($action); return new JsonModel(['responseType' => ResponseTypeInterface::RESPONSE_TYPE_SUCCESS]); } catch (\Exception $e) { return new JsonModel( [ 'responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR, 'error' => $e->getMessage() ] ); } } }