2 namespace TYPO3\CMS\Reports\Report\Status;
60 if (TYPO3_OS !==
'WIN') {
74 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
76 $severity = \TYPO3\CMS\Reports\Status::OK;
77 $count =
$GLOBALS[
'TYPO3_DB']->exec_SELECTcountRows(
'*',
'sys_refindex');
79 $lastRefIndexUpdate =
$registry->get(
'core',
'sys_refindex_lastUpdate');
80 if (!$count && $lastRefIndexUpdate) {
81 $value =
$GLOBALS[
'LANG']->getLL(
'status_empty');
82 $severity = \TYPO3\CMS\Reports\Status::WARNING;
83 $url = \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl(
'system_dbint') .
'&id=0&SET[function]=refindex';
84 $message = sprintf(
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.backend_reference_index'),
'<a href="' . htmlspecialchars(
$url) .
'">',
'</a>', \TYPO3\CMS\Backend\Utility\BackendUtility::dateTime($lastRefIndexUpdate));
96 $memcachedUsed =
false;
98 if (!empty($memcachedServers)) {
99 $memcachedUsed =
true;
101 return $memcachedUsed;
111 $memcachedServers = array();
112 if (is_array(
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'caching'][
'cacheConfigurations'])) {
113 foreach (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'caching'][
'cacheConfigurations'] as $table => $conf) {
114 if (is_array($conf)) {
115 foreach ($conf as $key => $value) {
116 if (!is_array($value) && $value === \TYPO3\CMS\Core\Cache\Backend\MemcachedBackend::class) {
117 $memcachedServers =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'caching'][
'cacheConfigurations'][$table][
'options'][
'servers'];
124 return $memcachedServers;
134 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
136 $severity = \TYPO3\CMS\Reports\Status::OK;
137 $failedConnections = array();
138 $defaultMemcachedPort = ini_get(
'memcache.default_port');
140 if (function_exists(
'memcache_connect') && is_array($memcachedServers)) {
141 foreach ($memcachedServers as $testServer) {
142 $configuredServer = $testServer;
143 if (substr($testServer, 0, 7) ==
'unix://') {
147 if (substr($testServer, 0, 6) ===
'tcp://') {
148 $testServer = substr($testServer, 6);
150 if (strstr($testServer,
':') !==
false) {
151 list($host, $port) = explode(
':', $testServer, 2);
154 $port = $defaultMemcachedPort;
157 $memcachedConnection = @memcache_connect($host, $port);
158 if ($memcachedConnection != null) {
159 memcache_close($memcachedConnection);
161 $failedConnections[] = $configuredServer;
165 if (!empty($failedConnections)) {
166 $value =
$GLOBALS[
'LANG']->getLL(
'status_connectionFailed');
167 $severity = \TYPO3\CMS\Reports\Status::WARNING;
168 $message =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_core.xlf:warning.memcache_not_usable') .
'<br /><br />' .
'<ul><li>' . implode(
'</li><li>', $failedConnections) .
'</li></ul>';
181 $title =
$GLOBALS[
'LANG']->getLL(
'status_configuration_DeprecationLog');
182 $value =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_common.xlf:disabled');
184 $severity = \TYPO3\CMS\Reports\Status::OK;
185 if (
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'enableDeprecationLog']) {
186 $value =
$GLOBALS[
'LANG']->sL(
'LLL:EXT:lang/locallang_common.xlf:enabled');
187 $message =
'<p>' .
$GLOBALS[
'LANG']->getLL(
'status_configuration_DeprecationLogEnabled') .
'</p>';
188 $severity = \TYPO3\CMS\Reports\Status::NOTICE;
191 if (@file_exists($logFile)) {
192 $logFileSize = filesize($logFile);
195 $message .=
'<p>' . sprintf(
$GLOBALS[
'LANG']->getLL(
'status_configuration_DeprecationLogSize'),
GeneralUtility::formatSize($logFileSize)) .
' <a href="' . $removeDeprecationLogFileUrl .
'">' .
$GLOBALS[
'LANG']->getLL(
'status_configuration_DeprecationLogDeleteLink') .
'</a></p>';
197 if ($logFileSize > $this->deprecationLogFileSizeWarningThreshold) {
198 $severity = \TYPO3\CMS\Reports\Status::WARNING;
200 if ($logFileSize > $this->deprecationLogFileSizeErrorThreshold) {
201 $severity = \TYPO3\CMS\Reports\Status::ERROR;
214 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
216 $severity = \TYPO3\CMS\Reports\Status::OK;
217 if ((
int)
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'fileCreateMask'] % 10 & 2) {
218 $value = $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'fileCreateMask'];
219 $severity = \TYPO3\CMS\Reports\Status::WARNING;
220 $message = $GLOBALS[
'LANG']->getLL(
'status_CreatedFilePermissions.writable');
222 return GeneralUtility::makeInstance(\TYPO3\CMS\Reports\Status::class, $GLOBALS[
'LANG']->getLL(
'status_CreatedFilePermissions'), $value, $message, $severity);
232 $value =
$GLOBALS[
'LANG']->getLL(
'status_ok');
234 $severity = \TYPO3\CMS\Reports\Status::OK;
235 if ((
int)
$GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'folderCreateMask'] % 10 & 2) {
236 $value = $GLOBALS[
'TYPO3_CONF_VARS'][
'SYS'][
'folderCreateMask'];
237 $severity = \TYPO3\CMS\Reports\Status::WARNING;
238 $message = $GLOBALS[
'LANG']->getLL(
'status_CreatedDirectoryPermissions.writable');
240 return GeneralUtility::makeInstance(\TYPO3\CMS\Reports\Status::class, $GLOBALS[
'LANG']->getLL(
'status_CreatedDirectoryPermissions'), $value, $message, $severity);
253 $link =
'<a href="' . $relativePath .
'">' . $logFile .
'</a>';
269 case 'removeDeprecationLogFile':
270 self::removeDeprecationLogFile();
282 protected static function removeDeprecationLogFile()
285 $message =
$GLOBALS[
'LANG']->getLL(
'status_configuration_DeprecationLogDeletedSuccessful');
286 $severity = \TYPO3\CMS\Core\Messaging\FlashMessage::OK;
288 $message =
$GLOBALS[
'LANG']->getLL(
'status_configuration_DeprecationLogDeletionFailed');
289 $severity = \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR;
295 $defaultFlashMessageQueue = $flashMessageService->getMessageQueueByIdentifier();
296 $defaultFlashMessageQueue->enqueue($flashMessage);