2 namespace TYPO3\CMS\Install\Report;
32 return $this->getStatusInternal(
false);
42 return $this->getStatusInternal(
true);
50 protected function getStatusInternal($verbose)
53 $statusCheck = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Install\SystemEnvironment\Check::class);
54 $statusObjects = $statusCheck->getStatus();
57 $databaseStatusCheck = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Install\SystemEnvironment\DatabaseCheck::class);
58 $statusObjects = array_merge($statusObjects, $databaseStatusCheck->getStatus());
60 $reportStatusTypes = array(
64 'information' => array(),
69 foreach ($statusObjects as $statusObject) {
70 $severityIdentifier = $statusObject->getSeverity();
71 if (empty($severityIdentifier) || !is_array($reportStatusTypes[$severityIdentifier])) {
72 throw new \TYPO3\CMS\Install\Exception(
'Unknown reports severity type', 1362602560);
74 $reportStatusTypes[$severityIdentifier][] = $statusObject;
77 $statusArray = array();
78 foreach ($reportStatusTypes as $type => $statusObjects) {
79 $value = count($statusObjects);
82 foreach ($statusObjects as $statusObject) {
83 $message .=
'### ' . $statusObject->getTitle() .
': ' . $statusObject->getSeverity() . CRLF;
88 $pathToXliff =
'LLL:EXT:install/Resources/Private/Language/Report/locallang.xlf';
90 if ($type ===
'information') {
94 $message =
$GLOBALS[
'LANG']->sL($pathToXliff .
':environment.status.message.' . $type);
96 $severity = constant(
'\TYPO3\CMS\Reports\Status::' . strtoupper($type));
97 $statusArray[] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
98 \TYPO3\CMS\Reports\Status::class,
99 $GLOBALS[
'LANG']->sL($pathToXliff .
':environment.status.title'),
100 sprintf(
$GLOBALS[
'LANG']->sL($pathToXliff .
':environment.status.value'), $value),