62 $this->repositoryRepository = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Domain\\Repository\\RepositoryRepository');
63 $this->listUtility = $this->objectManager->get(
'TYPO3\\CMS\\Extensionmanager\\Utility\\ListUtility');
64 $this->languageService = $this->objectManager->get(
'TYPO3\\CMS\\Lang\\LanguageService');
74 $status[
'mainRepositoryStatus'] = $this->getMainRepositoryStatus();
76 $extensionStatus = $this->getSecurityStatusOfExtensions();
77 $status[
'extensionsSecurityStatusInstalled'] = $extensionStatus->loaded;
78 $status[
'extensionsSecurityStatusNotInstalled'] = $extensionStatus->existing;
79 $status[
'extensionsOutdatedStatusInstalled'] = $extensionStatus->loadedoutdated;
80 $status[
'extensionsOutdatedStatusNotInstalled'] = $extensionStatus->existingoutdated;
90 protected function getMainRepositoryStatus() {
92 $mainRepository = $this->repositoryRepository->findOneTypo3OrgRepository();
94 if (is_null($mainRepository) === TRUE) {
95 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.mainRepository.notFound.value');
96 $message = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.mainRepository.notFound.message');
98 } elseif ($mainRepository->getLastUpdate()->getTimestamp() <
$GLOBALS[
'EXEC_TIME'] - 24 * 60 * 60 * 7) {
99 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.mainRepository.notUpToDate.value');
100 $message = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.mainRepository.notUpToDate.message');
103 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.mainRepository.upToDate.value');
109 $status = $this->objectManager->get(
110 'TYPO3\\CMS\\Reports\\Status',
111 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.mainRepository.title'),
125 protected function getSecurityStatusOfExtensions() {
126 $extensionInformation = $this->listUtility->getAvailableAndInstalledExtensionsWithAdditionalInformation();
127 $loadedInsecure = array();
128 $existingInsecure = array();
129 $loadedOutdated = array();
130 $existingOutdated = array();
131 foreach ($extensionInformation as $extensionKey => $information) {
133 array_key_exists(
'terObject', $information)
134 && $information[
'terObject'] instanceof \
TYPO3\CMS\Extensionmanager\Domain\Model\Extension
137 $terObject = $information[
'terObject'];
138 $insecureStatus = $terObject->getReviewState();
139 if ($insecureStatus === -1) {
141 array_key_exists(
'installed', $information)
142 && $information[
'installed'] === TRUE
144 $loadedInsecure[] = array(
145 'extensionKey' => $extensionKey,
146 'version' => $terObject->getVersion(),
149 $existingInsecure[] = array(
150 'extensionKey' => $extensionKey,
151 'version' => $terObject->getVersion(),
154 } elseif ($insecureStatus === -2) {
156 array_key_exists(
'installed', $information)
157 && $information[
'installed'] === TRUE
159 $loadedOutdated[] = array(
160 'extensionKey' => $extensionKey,
161 'version' => $terObject->getVersion(),
164 $existingOutdated[] = array(
165 'extensionKey' => $extensionKey,
166 'version' => $terObject->getVersion(),
175 if (count($loadedInsecure) === 0) {
176 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedExtensions.noInsecureExtensionLoaded.value');
181 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedExtensions.insecureExtensionLoaded.value'),
182 count($loadedInsecure)
184 $extensionList = array();
185 foreach ($loadedInsecure as $insecureExtension) {
186 $extensionList[] = sprintf(
187 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedExtensions.insecureExtensionLoaded.message.extension'),
188 $insecureExtension[
'extensionKey'],
189 $insecureExtension[
'version']
193 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedExtensions.insecureExtensionLoaded.message'),
194 implode(
'', $extensionList)
198 $result->loaded = $this->objectManager->get(
199 'TYPO3\\CMS\\Reports\\Status',
200 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedExtensions.title'),
206 if (count($existingInsecure) === 0) {
207 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingExtensions.noInsecureExtensionExists.value');
212 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingExtensions.insecureExtensionExists.value'),
213 count($existingInsecure)
215 $extensionList = array();
216 foreach ($existingInsecure as $insecureExtension) {
217 $extensionList[] = sprintf(
218 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingExtensions.insecureExtensionExists.message.extension'),
219 $insecureExtension[
'extensionKey'],
220 $insecureExtension[
'version']
224 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingExtensions.insecureExtensionExists.message'),
225 implode(
'', $extensionList)
229 $result->existing = $this->objectManager->get(
230 'TYPO3\\CMS\\Reports\\Status',
231 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingExtensions.title'),
237 if (count($loadedOutdated) === 0) {
238 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedOutdatedExtensions.noOutdatedExtensionLoaded.value');
243 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedOutdatedExtensions.outdatedExtensionLoaded.value'),
244 count($loadedOutdated)
246 $extensionList = array();
247 foreach ($loadedOutdated as $outdatedExtension) {
248 $extensionList[] = sprintf(
249 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedOutdatedExtensions.outdatedExtensionLoaded.message.extension'),
250 $outdatedExtension[
'extensionKey'],
251 $outdatedExtension[
'version']
255 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedOutdatedExtensions.outdatedExtensionLoaded.message'),
256 implode(
'', $extensionList)
260 $result->loadedoutdated = $this->objectManager->get(
261 'TYPO3\\CMS\\Reports\\Status',
262 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.loadedOutdatedExtensions.title'),
268 if (count($existingOutdated) === 0) {
269 $value = $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingOutdatedExtensions.noOutdatedExtensionExists.value');
274 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingOutdatedExtensions.outdatedExtensionExists.value'),
275 count($existingOutdated)
277 $extensionList = array();
278 foreach ($existingOutdated as $outdatedExtension) {
279 $extensionList[] = sprintf(
280 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingOutdatedExtensions.outdatedExtensionExists.message.extension'),
281 $outdatedExtension[
'extensionKey'],
282 $outdatedExtension[
'version']
286 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingOutdatedExtensions.outdatedExtensionExists.message'),
287 implode(
'', $extensionList)
291 $result->existingoutdated = $this->objectManager->get(
292 'TYPO3\\CMS\\Reports\\Status',
293 $this->languageService->sL(
'LLL:EXT:extensionmanager/Resources/Private/Language/locallang.xlf:report.status.existingOutdatedExtensions.title'),
static makeInstance($className)
if($list_of_literals) if(!empty($literals)) if(!empty($literals)) $result
Analyse literals to prepend the N char to them if their contents aren't numeric.
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]