[TASK] Streamline expressionLanguage usage in core
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / ExpressionLanguage / TypoScriptConditionProvider.php
1 <?php
2 declare(strict_types = 1);
3
4 namespace TYPO3\CMS\Core\ExpressionLanguage;
5
6 /*
7 * This file is part of the TYPO3 CMS project.
8 *
9 * It is free software; you can redistribute it and/or modify it under
10 * the terms of the GNU General Public License, either version 2
11 * of the License, or any later version.
12 *
13 * For the full copyright and license information, please read the
14 * LICENSE.txt file that was distributed with this source code.
15 *
16 * The TYPO3 project - inspiring people to share!
17 */
18
19 use TYPO3\CMS\Core\ExpressionLanguage\FunctionsProvider\Typo3ConditionFunctionsProvider;
20 use TYPO3\CMS\Core\Utility\GeneralUtility;
21
22 /**
23 * Class TypoScriptConditionProvider
24 *
25 * @internal
26 */
27 class TypoScriptConditionProvider extends AbstractProvider
28 {
29 public function __construct()
30 {
31 $typo3 = new \stdClass();
32 $typo3->version = TYPO3_version;
33 $typo3->branch = TYPO3_branch;
34 $typo3->devIpMask = trim($GLOBALS['TYPO3_CONF_VARS']['SYS']['devIPmask']);
35 $this->expressionLanguageVariables = [
36 'request' => GeneralUtility::makeInstance(RequestWrapper::class, $GLOBALS['TYPO3_REQUEST'] ?? null),
37 'applicationContext' => (string)GeneralUtility::getApplicationContext(),
38 'typo3' => $typo3,
39 ];
40 $this->expressionLanguageProviders = [
41 Typo3ConditionFunctionsProvider::class
42 ];
43 }
44 }