Пример #1
0
 /**
  * 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);
     }
 }
Пример #2
0
 /**
  * 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;
 }