‪TYPO3CMS  ‪main
SpriteIconForRecordViewHelper.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 
21 use TYPO3\CMS\Core\Imaging\IconSize;
24 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
25 
32 {
38  protected ‪$escapeOutput = false;
39 
40  public function ‪initializeArguments(): void
41  {
42  parent::initializeArguments();
43  $this->registerArgument('table', 'string', '', true);
44  $this->registerArgument('object', 'object', '', true);
45  }
46 
50  public function ‪render(): string
51  {
52  return ‪self::renderStatic($this->arguments, $this->buildRenderChildrenClosure(), $this->renderingContext);
53  }
54 
58  public static function ‪renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext): string
59  {
60  $object = $arguments['object'];
61  $table = $arguments['table'];
62 
63  if (!method_exists($object, 'getUid')) {
64  return '';
65  }
66  $row = [
67  'uid' => $object->getUid(),
68  'startTime' => false,
69  'endTime' => false,
70  ];
71  if (method_exists($object, 'getIsDisabled')) {
72  $row['disable'] = $object->getIsDisabled();
73  }
74  if (method_exists($object, 'getHidden')) {
75  $row['hidden'] = $object->getHidden();
76  }
77  if (method_exists($object, 'getStartDateAndTime')) {
78  $row['startTime'] = $object->getStartDateAndTime();
79  }
80  if (method_exists($object, 'getEndDateAndTime')) {
81  $row['endTime'] = $object->getEndDateAndTime();
82  }
83  $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
84  return $iconFactory->getIconForRecord($table, $row, IconSize::SMALL)->render();
85  }
86 }
‪TYPO3\CMS\Beuser\ViewHelpers
Definition: ArrayElementViewHelper.php:18
‪TYPO3\CMS\Beuser\ViewHelpers\SpriteIconForRecordViewHelper\initializeArguments
‪initializeArguments()
Definition: SpriteIconForRecordViewHelper.php:39
‪TYPO3\CMS\Core\Imaging\IconFactory
Definition: IconFactory.php:34
‪TYPO3\CMS\Fluid\ViewHelpers\Be\AbstractBackendViewHelper
Definition: AbstractBackendViewHelper.php:30
‪TYPO3\CMS\Beuser\ViewHelpers\SpriteIconForRecordViewHelper
Definition: SpriteIconForRecordViewHelper.php:32
‪TYPO3\CMS\Beuser\ViewHelpers\SpriteIconForRecordViewHelper\renderStatic
‪static renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
Definition: SpriteIconForRecordViewHelper.php:57
‪TYPO3\CMS\Beuser\ViewHelpers\SpriteIconForRecordViewHelper\render
‪render()
Definition: SpriteIconForRecordViewHelper.php:49
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Beuser\ViewHelpers\SpriteIconForRecordViewHelper\$escapeOutput
‪bool $escapeOutput
Definition: SpriteIconForRecordViewHelper.php:37