Your IP : 127.0.0.1
<?php
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
require_once __DIR__ . '/app/bootstrap.php';
if (PHP_SAPI != 'cli') {
header('X-Frame-Options: SAMEORIGIN');
header('X-Content-Type-Options: nosniff');
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8') === false) {
$xssHeaderValue = '1; mode=block';
} else {
$xssHeaderValue = '0';
}
header('X-XSS-Protection: ' . $xssHeaderValue);
}
$status = new \Magento\Update\Status();
$isUpdateInProgress = $status->isUpdateInProgress();
$statusMessage = '';
$statusMessage .= $status->get();
$statusMessage = str_replace("\n", "<br />", $statusMessage);
$queue = new \Magento\Update\Queue();
$pending = !$status->isUpdateInProgress() && !$queue->isEmpty() && !$status->isUpdateError();
if (isset($_SERVER['PATH_INFO']) && !empty($_SERVER['PATH_INFO'])) {
if($_SERVER['PATH_INFO'] === '/rollback' && file_exists(MAGENTO_BP . '/var/.update_error.flag')) {
try {
$queue->clear();
$backupInfo = new \Magento\Update\Backup\BackupInfo();
$backupPaths = $backupInfo->getBackupFilePaths();
if (isset($backupPaths['error'])) {
$status->add('WARNING: There is a problem with backup files! Performing rollback from these'
. ' files may cause the Magento application to be unstable', \Psr\Log\LogLevel::WARNING);
foreach ($backupPaths['error'] as $error) {
$status->add($error, \Psr\Log\LogLevel::WARNING);
}
unset($backupPaths['error']);
}
foreach (array_values($backupPaths) as $backupPath) {
$queue->addJobs(
['jobs' =>
[
'name' => $backupPath['type'],
'params'=> ['backup_file_name' => $backupPath['filename']]
]
]
);
}
$status->setUpdateError(false);
} catch (\Exception $e) {
$status->setUpdateError(true);
$status->add('Error in Rollback:' . $e->getMessage(), \Psr\Log\LogLevel::ERROR);
}
} elseif ($_SERVER['PATH_INFO'] === '/status') {
$complete = !$status->isUpdateInProgress() && $queue->isEmpty() && !$status->isUpdateError();
if ($complete) {
$status->clear();
}
echo json_encode(
[
'statusMessage' => $statusMessage,
'isUpdateInProgress' => $isUpdateInProgress,
'complete' => $complete,
'error' => $status->isUpdateError(),
'pending' => $pending,
]
);
}
} else {
if (!file_exists(MAGENTO_BP . '/app/etc/config.php') || !file_exists(MAGENTO_BP . '/app/etc/env.php')) {
header('Location: ../setup');
die();
}
$type = 'default';
$titles = [];
$defaultHeaderTitle = 'Magento Updater';
if (file_exists(MAGENTO_BP . '/var/.type.json')) {
$typeFlag = json_decode(file_get_contents(MAGENTO_BP . '/var/.type.json'), true);
$headerTitle = isset($typeFlag['headerTitle']) ? $typeFlag['headerTitle'] : $defaultHeaderTitle;
$titles = $typeFlag['titles'];
} else {
$headerTitle = $defaultHeaderTitle;
}
include __DIR__ . '/app/code/Magento/Update/view/templates/status.phtml';
}