registerArgument('table', 'string', '', true); $this->registerArgument('object', 'object', '', true); } /** * Displays spriteIcon for database table and object * * @return string * @see IconFactory::getIconForRecord() */ public function render() { return static::renderStatic($this->arguments, $this->buildRenderChildrenClosure(), $this->renderingContext); } /** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * * @return string * @throws \Exception */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $object = $arguments['object']; $table = $arguments['table']; if (!is_object($object) || !method_exists($object, 'getUid')) { return ''; } $row = array( 'uid' => $object->getUid(), 'startTime' => false, 'endTime' => false ); if (method_exists($object, 'getIsDisabled')) { $row['disable'] = $object->getIsDisabled(); } if (method_exists($object, 'getHidden')) { $row['hidden'] = $object->getHidden(); } if ($table === 'be_users' && $object instanceof BackendUser) { $row['admin'] = $object->getIsAdministrator(); } if (method_exists($object, 'getStartDateAndTime')) { $row['startTime'] = $object->getStartDateAndTime(); } if (method_exists($object, 'getEndDateAndTime')) { $row['endTime'] = $object->getEndDateAndTime(); } /** @var IconFactory $iconFactory */ $iconFactory = GeneralUtility::makeInstance(IconFactory::class); return $iconFactory->getIconForRecord($table, $row, Icon::SIZE_SMALL)->render(); } }