‪TYPO3CMS  ‪main
PhpInformation.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Psr\Http\Message\ServerRequestInterface;
26 
33 {
34  public function ‪getIdentifier(): string
35  {
36  return 'info_php';
37  }
38 
39  public function ‪getLabel(): string
40  {
41  return $this->‪getLanguageService()->sL(
42  'LLL:EXT:adminpanel/Resources/Private/Language/locallang_info.xlf:sub.php.label'
43  );
44  }
45 
46  public function ‪getDataToStore(ServerRequestInterface $request): ‪ModuleData
47  {
48  return new ‪ModuleData(
49  [
50  'general' => [
51  'PHP_VERSION' => PHP_VERSION,
52  'PHP_OS' => PHP_OS,
53  'PHP_SAPI' => PHP_SAPI,
54  'Peak Memory Usage' => GeneralUtility::formatSize(memory_get_peak_usage()),
55  ],
56  'loadedExtensions' => implode(', ', get_loaded_extensions()),
57  'constants' => get_defined_constants(true),
58  ]
59  );
60  }
61 
62  public function ‪getContent(‪ModuleData $data): string
63  {
64  $view = GeneralUtility::makeInstance(StandaloneView::class);
65  $templateNameAndPath = 'EXT:adminpanel/Resources/Private/Templates/Modules/Info/PhpInfo.html';
66  $view->setTemplatePathAndFilename(GeneralUtility::getFileAbsFileName($templateNameAndPath));
67  $view->setPartialRootPaths(['EXT:adminpanel/Resources/Private/Partials']);
68 
69  $view->assignMultiple($data->getArrayCopy());
70  $view->assign('languageKey', $this->‪getBackendUser()->user['lang'] ?? null);
71 
72  return $view->render();
73  }
74 }
‪TYPO3\CMS\Adminpanel\Modules\Info\PhpInformation
Definition: PhpInformation.php:33
‪TYPO3\CMS\Adminpanel\Modules\Info\PhpInformation\getLabel
‪getLabel()
Definition: PhpInformation.php:39
‪TYPO3\CMS\Adminpanel\ModuleApi\DataProviderInterface
Definition: DataProviderInterface.php:30
‪TYPO3\CMS\Adminpanel\Modules\Info\PhpInformation\getContent
‪getContent(ModuleData $data)
Definition: PhpInformation.php:62
‪TYPO3\CMS\Adminpanel\ModuleApi\AbstractSubModule\getBackendUser
‪getBackendUser()
Definition: AbstractSubModule.php:35
‪TYPO3\CMS\Adminpanel\Modules\Info
Definition: GeneralInformation.php:18
‪TYPO3\CMS\Adminpanel\Modules\Info\PhpInformation\getIdentifier
‪getIdentifier()
Definition: PhpInformation.php:34
‪TYPO3\CMS\Fluid\View\StandaloneView
Definition: StandaloneView.php:30
‪TYPO3\CMS\Adminpanel\ModuleApi\AbstractSubModule\getLanguageService
‪getLanguageService()
Definition: AbstractSubModule.php:30
‪TYPO3\CMS\Adminpanel\ModuleApi\ModuleData
Definition: ModuleData.php:26
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Adminpanel\Modules\Info\PhpInformation\getDataToStore
‪getDataToStore(ServerRequestInterface $request)
Definition: PhpInformation.php:46
‪TYPO3\CMS\Adminpanel\ModuleApi\AbstractSubModule
Definition: AbstractSubModule.php:29