public function testAddToNotExistingFile() { unlink($this->tmpStatusFilePath); $this->assertFalse(file_exists($this->tmpStatusFilePath), "Precondition failed."); $status = new \Magento\Update\Status($this->tmpStatusFilePath); $statusUpdate = <<<STATUS_UPDATE Praesent blandit dolor. Sed non quam. STATUS_UPDATE; $status->add($statusUpdate, $this->tmpStatusFilePath); $this->verifyAddedStatus($statusUpdate, $this->tmpStatusFilePath, 1); }
<?php /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ require_once __DIR__ . '/app/bootstrap.php'; $status = new \Magento\Update\Status(); $statusMessage = $status->get(10); $isUpdateInProgress = $status->isUpdateInProgress(); /** TODO: Section below is added for demo purposes */ $status->add("Message #" . rand(1, 1000)); if (!$statusMessage) { $statusMessage = 'Please wait for job processing to start.'; } $statusMessage = str_replace("\n", "<br />", $statusMessage); //$isUpdateInProgress = (bool)rand(0, 1); /** TODO: End of section added for demo */ if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { /* Ajax request processing */ echo json_encode(['statusMessage' => $statusMessage, 'isUpdateInProgress' => $isUpdateInProgress]); } else { include __DIR__ . '/app/code/Magento/Update/view/templates/status.phtml'; }
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();
require_once __DIR__ . '/app/bootstrap.php'; $status = new \Magento\Update\Status(); $cronReadinessChecker = new \Magento\Update\CronReadinessCheck(); if (!$cronReadinessChecker->runReadinessCheck()) { exit('Cron readiness check failed'); } if ($status->isUpdateInProgress()) { exit('Cron is already in progress...'); } if ($status->isUpdateError()) { exit('There was an error in previous Updater jobs...'); } $backupDirectory = BACKUP_DIR; if (!file_exists($backupDirectory)) { if (!mkdir($backupDirectory)) { $status->add(sprintf('Backup directory "%s" cannot be created.', $backupDirectory)); exit; } chmod($backupDirectory, 0770); } try { $status->setUpdateInProgress(); } catch (\RuntimeException $e) { $status->add($e->getMessage()); exit; } $jobQueue = new \Magento\Update\Queue(); try { while (!empty($jobQueue->peek()) && strpos($jobQueue->peek()[\Magento\Update\Queue::KEY_JOB_NAME], 'setup:') === false) { $job = $jobQueue->popQueuedJob(); $status->add(sprintf('Job "%s" has been started', $job));
header('X-Frame-Options: SAMEORIGIN'); $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'); foreach ($backupPaths['error'] as $error) { $status->add($error); } 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()); } } elseif ($_SERVER['PATH_INFO'] === '/status') { $complete = !$status->isUpdateInProgress() && $queue->isEmpty() && !$status->isUpdateError();
*/ require_once __DIR__ . '/app/bootstrap.php'; /** * Update cron exit codes */ const UPDATE_CRON_NORMAL_EXIT = 0; const UPDATE_CRON_EXIT_WITH_ERROR = 1; $status = new \Magento\Update\Status(); $cronReadinessChecker = new \Magento\Update\CronReadinessCheck(); $notification = 'update-cron: Please check var/log/update.log for execution summary.' . PHP_EOL; if (!$cronReadinessChecker->runReadinessCheck()) { print $notification; exit(UPDATE_CRON_EXIT_WITH_ERROR); } if ($status->isUpdateInProgress()) { $status->add('Update is already in progress.', \Psr\Log\LogLevel::WARNING); print $notification; exit(UPDATE_CRON_EXIT_WITH_ERROR); } if ($status->isUpdateError()) { $status->add('There was an error in previous Update attempt.'); print $notification; exit(UPDATE_CRON_EXIT_WITH_ERROR); } $backupDirectory = BACKUP_DIR; if (!file_exists($backupDirectory)) { if (!mkdir($backupDirectory)) { $status->add(sprintf('Backup directory, "%s" cannot be created.', $backupDirectory), \Psr\Log\LogLevel::ERROR); print $notification; exit(UPDATE_CRON_EXIT_WITH_ERROR); }