$this->getRegisteredXclassStatus(), ]; return $statuses; } public function getLabel(): string { return 'typo3'; } /** * List any Xclasses registered in the system * * @return \TYPO3\CMS\Reports\Status */ protected function getRegisteredXclassStatus() { $message = ''; $value = $this->getLanguageService()->sL('LLL:EXT:reports/Resources/Private/Language/locallang_reports.xlf:status_none'); $severity = ContextualFeedbackSeverity::OK; $xclassFoundArray = []; if (array_key_exists('Objects', $GLOBALS['TYPO3_CONF_VARS']['SYS'])) { foreach ($GLOBALS['TYPO3_CONF_VARS']['SYS']['Objects'] as $originalClass => $override) { if (array_key_exists('className', $override)) { $xclassFoundArray[$originalClass] = $override['className']; } } } if (!empty($xclassFoundArray)) { $value = $this->getLanguageService()->sL('LLL:EXT:reports/Resources/Private/Language/locallang_reports.xlf:status_xclassUsageFound'); $message = $this->getLanguageService()->sL('LLL:EXT:reports/Resources/Private/Language/locallang_reports.xlf:status_xclassUsageFound_message') . '
'; $message .= '
    '; foreach ($xclassFoundArray as $originalClass => $xClassName) { $messageDetail = sprintf( (string)($this->getLanguageService()->sL('LLL:EXT:reports/Resources/Private/Language/locallang_reports.xlf:status_xclassUsageFound_message_detail')), '' . htmlspecialchars((string)$originalClass) . '', '' . htmlspecialchars((string)$xClassName) . '' ); $message .= '
  1. ' . $messageDetail . '
  2. '; } $message .= '
'; $severity = ContextualFeedbackSeverity::NOTICE; } return new ReportStatus( $this->getLanguageService()->sL('LLL:EXT:reports/Resources/Private/Language/locallang_reports.xlf:status_xclassUsage'), $value, $message, $severity ); } protected function getLanguageService(): LanguageService { return $GLOBALS['LANG']; } }