[TASK] Style output of ReferenceIndex results 02/36202/3
authorAndreas Fernandez <a.fernandez@scripting-base.de>
Fri, 23 Jan 2015 16:08:03 +0000 (17:08 +0100)
committerTymoteusz Motylewski <t.motylewski@gmail.com>
Fri, 23 Jan 2015 18:43:05 +0000 (19:43 +0100)
Put the results of "Check/update reference index" into a flashmessage.

Resolves: #22663
Releases: master
Change-Id: I17701a072a4feb4942c01e05c1dca71612ec55bb
Reviewed-on: http://review.typo3.org/36202
Reviewed-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Tested-by: Mathias Schreiber <mathias.schreiber@wmdb.de>
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
typo3/sysext/core/Classes/Database/ReferenceIndex.php

index 14e3c83..3f1f724 100644 (file)
@@ -15,6 +15,7 @@ namespace TYPO3\CMS\Core\Database;
  */
 
 use TYPO3\CMS\Backend\Utility\BackendUtility;
+use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
@@ -921,8 +922,9 @@ class ReferenceIndex {
                        // Searching lost indexes for this table:
                        $where = 'tablename=' . $GLOBALS['TYPO3_DB']->fullQuoteStr($tableName, 'sys_refindex') . ' AND recuid NOT IN (' . implode(',', $uidList) . ')';
                        $lostIndexes = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('hash', 'sys_refindex', $where);
-                       if (count($lostIndexes)) {
-                               $Err = 'Table ' . $tableName . ' has ' . count($lostIndexes) . ' lost indexes which are now deleted';
+                       $lostIndexesCount = count($lostIndexes);
+                       if ($lostIndexesCount) {
+                               $Err = 'Table ' . $tableName . ' has ' . $lostIndexesCount . ' lost indexes which are now deleted';
                                $errors[] = $Err;
                                if ($cli_echo) {
                                        echo $Err . LF;
@@ -935,8 +937,9 @@ class ReferenceIndex {
                // Searching lost indexes for non-existing tables:
                $where = 'tablename NOT IN (' . implode(',', $GLOBALS['TYPO3_DB']->fullQuoteArray($tableNames, 'sys_refindex')) . ')';
                $lostTables = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('hash', 'sys_refindex', $where);
-               if (count($lostTables)) {
-                       $Err = 'Index table hosted ' . count($lostTables) . ' indexes for non-existing tables, now removed';
+               $lostTablesCount = count($lostTables);
+               if ($lostTablesCount) {
+                       $Err = 'Index table hosted ' . $lostTablesCount . ' indexes for non-existing tables, now removed';
                        $errors[] = $Err;
                        if ($cli_echo) {
                                echo $Err . LF;
@@ -945,16 +948,23 @@ class ReferenceIndex {
                                $GLOBALS['TYPO3_DB']->exec_DELETEquery('sys_refindex', $where);
                        }
                }
-               $testedHowMuch = $recCount . ' records from ' . $tableCount . ' tables were checked/updated.' . LF;
-               $bodyContent = $testedHowMuch . (count($errors) ? implode(LF, $errors) : 'Index Integrity was perfect!');
+               $errorCount = count($errors);
+               $recordsCheckedString = $recCount . ' records from ' . $tableCount . ' tables were checked/updated.' . LF;
+               $flashMessage = GeneralUtility::makeInstance(
+                       FlashMessage::class,
+                       $errorCount ? implode(LF, $errors) : 'Index Integrity was perfect!',
+                       $recordsCheckedString,
+                       $errorCount ? FlashMessage::ERROR : FlashMessage::OK
+               );
+               $bodyContent = $flashMessage->render();
                if ($cli_echo) {
-                       echo $testedHowMuch . (count($errors) ? 'Updates: ' . count($errors) : 'Index Integrity was perfect!') . LF;
+                       echo $recordsCheckedString . ($errorCount ? 'Updates: ' . $errorCount : 'Index Integrity was perfect!') . LF;
                }
                if (!$testOnly) {
                        $registry = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Registry::class);
                        $registry->set('core', 'sys_refindex_lastUpdate', $GLOBALS['EXEC_TIME']);
                }
-               return array($headerContent, $bodyContent, count($errors));
+               return array($headerContent, $bodyContent, $errorCount);
        }
 
        /**