/** * Execute all necessary updates * * @param string $extensionName */ public static function update($extensionName) { // Only concerned on running auto-updates if it is the newsletter extension that was installed and IS installed. if ($extensionName != 'newsletter' && !ExtensionManagementUtility::isLoaded($extensionName)) { return; } $queries = array_merge(self::getQueriesToMigrateClassPathsInRecords(), self::getQueriesToEncryptOldBounceAccountPasswords()); /* @var $transactedResults \Ecodev\Newsletter\Update\TransactionResult */ $transactedResults = Transaction::transactInnoDBQueries($queries); // Set the Task outcomes. if (!$transactedResults->complete()) { throw new \Exception($transactedResults->getErrorMessage(), 1448435734); } }
/** * Execute all necessary updates * * @return string HTML output informing user of results */ public function update() { $output = ''; foreach ($this->getQueries() as $title => $queries) { /* @var $transactedResult \Ecodev\Newsletter\Update\TransactionResult */ $transactedResult = Transaction::transactInnoDBQueries($queries); if ($transactedResult->complete()) { $count = $transactedResult->getAffectedDataCount(); $message = sprintf('%1$d records migrated', $count); $severity = FlashMessage::OK; } else { $message = $transactedResult->getErrorMessage(); $severity = FlashMessage::ERROR; } $flashMessage = GeneralUtility::makeInstance(FlashMessage::class, $message, $title, $severity); $output .= $this->renderFlashMessage($flashMessage); } return $output; }