[TASK] Define abstract methods in upgrade wizards
authorOliver Hader <oliver@typo3.org>
Thu, 30 Aug 2012 18:06:42 +0000 (20:06 +0200)
committerOliver Hader <oliver.hader@typo3.org>
Thu, 30 Aug 2012 18:46:11 +0000 (20:46 +0200)
Adds the commonly used methods checkForUpdate() and
performUpdate() to the abstract definition.

Change-Id: I3584791c9a4a0ab7e79946d604c5d26875299c64
Resolves: #40437
Releases: 6.0
Reviewed-on: http://review.typo3.org/14227
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
14 files changed:
typo3/sysext/install/Classes/CoreUpdates/CompatVersionUpdate.php
typo3/sysext/install/Classes/CoreUpdates/CscSplitUpdate.php
typo3/sysext/install/Classes/CoreUpdates/FlagsFromSpriteUpdate.php
typo3/sysext/install/Classes/CoreUpdates/ImagecolsUpdate.php
typo3/sysext/install/Classes/CoreUpdates/ImagelinkUpdate.php
typo3/sysext/install/Classes/CoreUpdates/InstallNewSysextsUpdate.php
typo3/sysext/install/Classes/CoreUpdates/MergeAdvancedUpdate.php
typo3/sysext/install/Classes/CoreUpdates/NotInMenuUpdate.php
typo3/sysext/install/Classes/Updates/AbstractUpdate.php
typo3/sysext/install/Classes/Updates/FilemountUpdateWizard.php
typo3/sysext/install/Classes/Updates/InitUpdateWizard.php
typo3/sysext/install/Classes/Updates/TceformsUpdateWizard.php
typo3/sysext/install/Classes/Updates/TtContentUploadsUpdateWizard.php
typo3/sysext/rtehtmlarea/Classes/Hook/Install/DeprecatedRteProperties.php

index 1216ddd..e95543d 100644 (file)
@@ -178,7 +178,7 @@ class CompatVersionUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @return      boolean         TRUE if update succeeded, FALSE otherwise
         * @todo Define visibility
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $customMessages = '';
                // if we just set it to an older version
                if ($this->userInput['version']) {
index 4d0825e..77af83b 100644 (file)
@@ -60,7 +60,7 @@ class CscSplitUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @return      boolean         TRUE if update succeeded, FALSE otherwise
         * @todo Define visibility
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $templates = $this->getTemplatesWithCsc($dbQueries, $customMessages);
                $templates = $this->findUpdateableTemplatesWithCsc($templates);
                $this->updateCscTemplates($templates, $dbQueries, $customMessages);
index 8cfc389..d3a486e 100644 (file)
@@ -61,7 +61,7 @@ class FlagsFromSpriteUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         whether it worked (TRUE) or not (FALSE)
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $result = FALSE;
                if ($this->versionNumber >= 4005000) {
                        $sql = 'UPDATE sys_language SET flag=REPLACE(flag, \'.gif\', \'\') WHERE flag LIKE \'%.gif\'';
index b9372bf..bcbbffa 100644 (file)
@@ -62,7 +62,7 @@ class ImagecolsUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         whether it worked (TRUE) or not (FALSE)
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $result = FALSE;
                if ($this->versionNumber >= 4003000) {
                        $updateArray = array(
index 88fbb03..fe4627d 100644 (file)
@@ -62,7 +62,7 @@ class ImagelinkUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         TRUE on success, FALSE on error
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $result = TRUE;
                if ($this->versionNumber >= 4005000) {
                        $affectedRows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid, image_link', 'tt_content', 'image_link<>\'\' AND image_link LIKE \'%,%\' AND image_link NOT LIKE \'%\\n%\'');
index 08aa8ab..7649776 100644 (file)
@@ -128,7 +128,7 @@ class InstallNewSysextsUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         whether it worked (TRUE) or not (FALSE)
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                // Get extension keys that were submitted by the user to be installed and that are valid for this update wizard
                if (is_array($this->pObj->INSTALL['update']['installNewSystemExtensions']['sysext'])) {
                        $extArray = array_intersect($this->newSystemExtensions, array_keys($this->pObj->INSTALL['update']['installNewSystemExtensions']['sysext']));
index 739bd24..0f5b6bd 100644 (file)
@@ -61,7 +61,7 @@ class MergeAdvancedUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         whether it worked (TRUE) or not (FALSE)
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $result = FALSE;
                if ($this->versionNumber >= 4002000) {
                        $updateArray = array(
index 6c3fa38..cc21c9d 100644 (file)
@@ -62,7 +62,7 @@ class NotInMenuUpdate extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         whether it worked (TRUE) or not (FALSE)
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $result = FALSE;
                if ($this->versionNumber >= 4002000) {
                        $updateArray = array(
index 33ea3b8..63587cf 100644 (file)
@@ -151,6 +151,23 @@ abstract class AbstractUpdate {
        }
 
        /**
+        * Checks whether updates are required.
+        *
+        * @param string &$description: The description for the update
+        * @return boolean Whether an update is required (TRUE) or not (FALSE)
+        */
+       abstract public function checkForUpdate(&$description);
+
+       /**
+        * Performs the accordant updates.
+        *
+        * @param array &$dbQueries: queries done in this update
+        * @param mixed &$customMessages: custom messages
+        * @return boolean Whether everything went smoothly or not
+        */
+       abstract public function performUpdate(array &$dbQueries, &$customMessages);
+
+       /**
         * This method can be called to install extensions following all proper processes
         * (e.g. installing in extList, respecting priority, etc.)
         *
index e79fdda..95a07cb 100644 (file)
@@ -96,7 +96,7 @@ class FilemountUpdateWizard extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         TRUE on success, FALSE on error
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $this->init();
                $this->migrateAbsoluteFilemounts();
                $this->migrateRelativeFilemounts();
index a94fb95..7ea92f6 100644 (file)
@@ -68,7 +68,7 @@ class InitUpdateWizard extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         TRUE on success, FALSE on error
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $updates = $this->getRequiredUpdates();
                foreach ($updates as $update) {
                        $GLOBALS['TYPO3_DB']->admin_query($update);
index aeaba61..7ccd434 100644 (file)
@@ -72,7 +72,7 @@ class TceformsUpdateWizard extends \TYPO3\CMS\Install\Updates\AbstractUpdate {
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         TRUE on success, FALSE on error
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $this->init();
                // Function below copied from sysext/install/updates/class.tx_coreupdates_imagelink.php
                $tables = array(
index 050bfd7..50662d5 100644 (file)
@@ -113,7 +113,7 @@ class TtContentUploadsUpdateWizard extends \TYPO3\CMS\Install\Updates\AbstractUp
         * @param       mixed           &$customMessages: custom messages
         * @return      boolean         TRUE on success, FALSE on error
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $this->init();
                $records = $this->getRecordsFromTable('tt_content');
                $this->checkPrerequisites();
index 9de35e0..08c8325 100644 (file)
@@ -151,7 +151,7 @@ class DeprecatedRteProperties extends \TYPO3\CMS\Install\Updates\AbstractUpdate
         * @param       string          pointer to output custom messages
         * @return      boolean         TRUE if update succeeded, FALSE otherwise
         */
-       public function performUpdate(&$dbQueries, &$customMessages) {
+       public function performUpdate(array &$dbQueries, &$customMessages) {
                $success = FALSE;
                $pages = $this->getPagesWithDeprecatedRteProperties($dbQueries, $customMessages);
                if (empty($customMessages)) {