From b255afc2c9181d26f11d536b66a52d763e2f1286 Mon Sep 17 00:00:00 2001
From: Markus Klein <klein.t3@mfc-linz.at>
Date: Tue, 18 Mar 2014 23:39:24 +0100
Subject: [PATCH] [BUGFIX] Fix automatic core updater

AbstractCoreUpdate redefines the $view member to be
a JsonView, but does not re-implement the parent methods
that rely on $view being an AbstractView.

Fix this by re-implementing the initializeHandle() method.
This method can be merged with the former initializeCoreUpdate(),
which wasn't called at all in most actions.

Resolves: #56865
Releases: 6.2
Change-Id: I85260a0e57e915ac941569cfbdde1f96cdaec5e6
Reviewed-on: https://review.typo3.org/28393
Reviewed-by: Philipp Gampe
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Markus Klein
Tested-by: Markus Klein
---
 .../install/Classes/Controller/Action/AbstractAction.php      | 2 +-
 .../Classes/Controller/Action/Ajax/AbstractCoreUpdate.php     | 4 ++--
 .../Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php    | 2 --
 3 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php b/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php
index 7f9fdb5022b2..01f7032ae53b 100644
--- a/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php
+++ b/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php
@@ -102,7 +102,7 @@ abstract class AbstractAction implements ActionInterface {
 	/**
 	 * Initialize the handle action, sets up fluid stuff and assigns default variables.
 	 *
-	 * @return string content
+	 * @return void
 	 */
 	protected function initializeHandle() {
 		/** @var \TYPO3\CMS\Install\Status\StatusUtility $statusUtility */
diff --git a/typo3/sysext/install/Classes/Controller/Action/Ajax/AbstractCoreUpdate.php b/typo3/sysext/install/Classes/Controller/Action/Ajax/AbstractCoreUpdate.php
index 60d456e65ee3..84886ceb70c4 100644
--- a/typo3/sysext/install/Classes/Controller/Action/Ajax/AbstractCoreUpdate.php
+++ b/typo3/sysext/install/Classes/Controller/Action/Ajax/AbstractCoreUpdate.php
@@ -55,12 +55,12 @@ abstract class AbstractCoreUpdate extends AbstractAjaxAction {
 	protected $coreVersionService;
 
 	/**
-	 * Common stuff to be done before performing update tasks
+	 * Initialize the handle action, sets up fluid stuff and assigns default variables.
 	 *
 	 * @return void
 	 * @throws \TYPO3\CMS\Install\Controller\Exception
 	 */
-	protected function initializeCoreUpdate() {
+	protected function initializeHandle() {
 		if (!$this->coreUpdateService->isCoreUpdateEnabled()) {
 			throw new \TYPO3\CMS\Install\Controller\Exception(
 				'Core Update disabled in this environment',
diff --git a/typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php b/typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php
index 95dbf37178b2..f3aa721c6eed 100644
--- a/typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php
+++ b/typo3/sysext/install/Classes/Controller/Action/Ajax/CoreUpdateIsUpdateAvailable.php
@@ -35,8 +35,6 @@ class CoreUpdateIsUpdateAvailable extends AbstractCoreUpdate {
 	 * @return array Rendered content
 	 */
 	protected function executeAction() {
-		$this->initializeCoreUpdate();
-
 		$status = array();
 		if ($this->coreVersionService->isInstalledVersionAReleasedVersion()) {
 			$isDevelopmentUpdateAvailable = $this->coreVersionService->isYoungerPatchDevelopmentReleaseAvailable();
-- 
GitLab