‪TYPO3CMS  ‪main
Typo3DependencyViewHelper.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 
22 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
23 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
24 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
25 
31 final class ‪Typo3DependencyViewHelper extends AbstractViewHelper
32 {
33  use CompileWithRenderStatic;
34 
40  protected ‪$escapeOutput = false;
41 
42  public function ‪initializeArguments(): void
43  {
44  $this->registerArgument('extension', Extension::class, '', true);
45  }
46 
47  public static function ‪renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext): string
48  {
49  $dependency = $arguments['extension']->getTypo3Dependency();
50  if ($dependency === null) {
51  return '';
52  }
53  return sprintf(
54  '<span class="badge badge-%s">%s - %s</span>',
55  $dependency->isVersionCompatible(‪VersionNumberUtility::getNumericTypo3Version()) ? 'success' : 'default',
56  htmlspecialchars($dependency->getLowestVersion()),
57  htmlspecialchars($dependency->getHighestVersion())
58  );
59  }
60 }
‪TYPO3\CMS\Core\Utility\VersionNumberUtility
Definition: VersionNumberUtility.php:26
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension
Definition: Extension.php:30
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Typo3DependencyViewHelper\initializeArguments
‪initializeArguments()
Definition: Typo3DependencyViewHelper.php:40
‪TYPO3\CMS\Core\Utility\VersionNumberUtility\getNumericTypo3Version
‪static getNumericTypo3Version()
Definition: VersionNumberUtility.php:51
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Typo3DependencyViewHelper
Definition: Typo3DependencyViewHelper.php:32
‪TYPO3\CMS\Extensionmanager\ViewHelpers
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Typo3DependencyViewHelper\$escapeOutput
‪bool $escapeOutput
Definition: Typo3DependencyViewHelper.php:38
‪TYPO3\CMS\Extensionmanager\ViewHelpers\Typo3DependencyViewHelper\renderStatic
‪static renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
Definition: Typo3DependencyViewHelper.php:45