22 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
23 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
24 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
32 use CompileWithRenderStatic;
46 $this->registerArgument(
'backendUser', BackendUser::class,
'Target backendUser to switch active session to',
true);
58 public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
60 $backendUser = $arguments[
'backendUser'];
61 $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
62 if ($backendUser->getUid() ==
$GLOBALS[
'BE_USER']->user[
'uid'] || !$backendUser->isActive() ||
$GLOBALS[
'BE_USER']->user[
'ses_backuserid']) {
63 return '<span class="btn btn-default disabled">' . $iconFactory->getIcon(
'empty-empty',
Icon::SIZE_SMALL)->render() .
'</span>';
66 return '<a class="btn btn-default" href="' .
67 htmlspecialchars(GeneralUtility::linkThisScript([
'SwitchUser' => $backendUser->getUid()])) .
68 '" target="_top" title="' . htmlspecialchars($title) .
'">' .
69 $iconFactory->getIcon(
'actions-system-backend-user-switch',
Icon::SIZE_SMALL)->render() .
'</a>';