/**
  * Generates the action menu
  *
  * @return void
  */
 protected function generateMenu()
 {
     $menuItems = ['installedExtensions' => ['controller' => 'List', 'action' => 'index', 'label' => $this->translate('installedExtensions')]];
     if (!$this->settings['offlineMode'] && !Bootstrap::usesComposerClassLoading()) {
         $menuItems['getExtensions'] = ['controller' => 'List', 'action' => 'ter', 'label' => $this->translate('getExtensions')];
         $menuItems['distributions'] = ['controller' => 'List', 'action' => 'distributions', 'label' => $this->translate('distributions')];
         if ($this->actionMethodName === 'showAllVersionsAction') {
             $menuItems['showAllVersions'] = ['controller' => 'List', 'action' => 'showAllVersions', 'label' => $this->translate('showAllVersions') . ' ' . $this->request->getArgument('extensionKey')];
         }
     }
     $uriBuilder = $this->objectManager->get(UriBuilder::class);
     $uriBuilder->setRequest($this->request);
     $menu = $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
     $menu->setIdentifier('ExtensionManagerModuleMenu');
     foreach ($menuItems as $menuItemConfig) {
         if ($this->request->getControllerName() === $menuItemConfig['controller']) {
             $isActive = $this->request->getControllerActionName() === $menuItemConfig['action'] ? true : false;
         } else {
             $isActive = false;
         }
         $menuItem = $menu->makeMenuItem()->setTitle($menuItemConfig['label'])->setHref($this->getHref($menuItemConfig['controller'], $menuItemConfig['action']))->setActive($isActive);
         $menu->addMenuItem($menuItem);
     }
     $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
     $this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue());
 }
 /**
  * Edit action
  *
  * @return void
  */
 public function editAction()
 {
     $this->view->assign('id', $this->id);
     $this->view->assign('depth', $this->depth);
     if (!$this->id) {
         $this->pageInfo = array('title' => '[root-level]', 'uid' => 0, 'pid' => 0);
     }
     if ($this->getBackendUser()->workspace != 0) {
         // Adding FlashMessage with the permission setting matrix:
         $this->addFlashMessage(LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:WorkspaceWarningText', 'beuser'), LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:WorkspaceWarning', 'beuser'), FlashMessage::WARNING);
     }
     // Get usernames and groupnames
     $beGroupArray = BackendUtility::getListGroupNames('title,uid');
     $beUserArray = BackendUtility::getUserNames();
     // Owner selector
     $beUserDataArray = array(0 => LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:selectNone', 'beuser'));
     foreach ($beUserArray as $uid => &$row) {
         $beUserDataArray[$uid] = $row['username'];
     }
     $beUserDataArray[-1] = LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:selectUnchanged', 'beuser');
     $this->view->assign('currentBeUser', $this->pageInfo['perms_userid']);
     $this->view->assign('beUserData', $beUserDataArray);
     // Group selector
     $beGroupDataArray = array(0 => LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:selectNone', 'beuser'));
     foreach ($beGroupArray as $uid => $row) {
         $beGroupDataArray[$uid] = $row['title'];
     }
     $beGroupDataArray[-1] = LocalizationUtility::translate('LLL:EXT:beuser/Resources/Private/Language/locallang_mod_permission.xlf:selectUnchanged', 'beuser');
     $this->view->assign('currentBeGroup', $this->pageInfo['perms_groupid']);
     $this->view->assign('beGroupData', $beGroupDataArray);
     $this->view->assign('pageInfo', $this->pageInfo);
     $this->view->assign('returnId', $this->returnId);
     $this->view->assign('recursiveSelectOptions', $this->getRecursiveSelectOptions());
 }
 /**
  * DocHeaderButtons
  */
 protected function prepareDocHeaderButtons()
 {
     // @todo: the html structure needed to operate the buttons correctly is broken now.
     // @todo: LanguageModule.js and backend.css -> div.typo3-module-lang div.menuItems
     $downloadAllButton = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar()->makeLinkButton()->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-system-extension-download', Icon::SIZE_SMALL))->setTitle($this->getLanguageService()->sL('LLL:EXT:lang/Resources/Private/Language/locallang.xlf:button.downloadAll'))->setClasses('menuItem updateItem t3js-button-update')->setDataAttributes(['action' => 'updateActiveLanguages'])->setHref('#');
     $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar()->addButton($downloadAllButton, ButtonBar::BUTTON_POSITION_LEFT);
     $cancelButton = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar()->makeLinkButton()->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-document-close', Icon::SIZE_SMALL))->setTitle($this->getLanguageService()->sL('LLL:EXT:lang/Resources/Private/Language/locallang.xlf:button.cancel'))->setClasses('menuItem cancelItem disabled t3js-button-cancel')->setDataAttributes(['action' => 'cancelLanguageUpdate'])->setHref('#');
     $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar()->addButton($cancelButton, ButtonBar::BUTTON_POSITION_LEFT);
 }
 /**
  * @param string $type = 'proposed'
  * @throws \InvalidArgumentException
  */
 public function manageAction($type = 'proposed')
 {
     if (!in_array($type, array_keys(ApiModuleController::$slugClassMap))) {
         throw new \InvalidArgumentException('type parameter must be one of the following: ' . implode(array_keys(ApiModuleController::$slugClassMap)));
     }
     $this->view->assign('manageConfig', json_encode(['updateUrl' => $this->getHref('ApiModule', 'toggle', ['id' => '{id}', 'type' => '{type}'])]));
     $this->view->assign('type', $type);
     $this->view->assign('sessions', $this->getFlatSessionObjects($type));
 }
 /**
  * If the user is in a workspace different than LIVE,
  * we force to show only log entries from the selected workspace,
  * and the workspace selector is not shown.
  *
  * @param \TYPO3\CMS\Belog\Domain\Model\Constraint $constraint
  * @return void
  */
 protected function forceWorkspaceSelectionIfInWorkspace(\TYPO3\CMS\Belog\Domain\Model\Constraint $constraint)
 {
     if ($GLOBALS['BE_USER']->workspace !== 0) {
         $constraint->setWorkspaceUid($GLOBALS['BE_USER']->workspace);
         $this->view->assign('showWorkspaceSelector', false);
     } else {
         $this->view->assign('showWorkspaceSelector', true);
     }
 }
 /**
  * Shows a page tree including count of news + category records
  *
  * @param integer $treeLevel
  * @return void
  */
 public function newsPidListingAction($treeLevel = 2)
 {
     $tree = Page::pageTree($this->pageUid, $treeLevel);
     $rawTree = array();
     foreach ($tree->tree as $row) {
         $this->countRecordsOnPage($row);
         $rawTree[] = $row;
     }
     $assignedValues = array('tree' => $rawTree, 'treeLevel' => $treeLevel);
     $assignedValues = $this->emitActionSignal('AdministrationController', self::SIGNAL_ADMINISTRATION_NEWSPIDLISTING_ACTION, $assignedValues);
     $this->view->assignMultiple($assignedValues);
 }
 /**
  * Gets all buttons for the docheader
  */
 protected function generateButtons()
 {
     $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
     $moduleName = $this->request->getPluginName();
     $getVars = $this->request->hasArgument('getVars') ? $this->request->getArgument('getVars') : [];
     $setVars = $this->request->hasArgument('setVars') ? $this->request->getArgument('setVars') : [];
     if (count($getVars) === 0) {
         $modulePrefix = strtolower('tx_' . $this->request->getControllerExtensionName() . '_' . $moduleName);
         $getVars = array('id', 'M', $modulePrefix);
     }
     $shortcutButton = $buttonBar->makeShortcutButton()->setModuleName($moduleName)->setGetVariables($getVars)->setDisplayName($this->shortcutName)->setSetVariables($setVars);
     $buttonBar->addButton($shortcutButton);
 }
 /**
  * Shows documents to be downloaded/fetched from a remote location.
  *
  * @return void
  */
 public function downloadAction()
 {
     // This action is reserved for admin users. Redirect to default view if not.
     if (!$this->getBackendUser()->isAdmin()) {
         $this->redirect('list');
     }
     // Retrieve the list of official documents
     $documents = $this->documentationService->getOfficialDocuments();
     // Merge with the list of local extensions
     $extensions = $this->documentationService->getLocalExtensions();
     $allDocuments = array_merge($documents, $extensions);
     $this->view->assign('documents', $allDocuments);
 }
Exemple #9
0
 /**
  * General statistics
  *
  * @param int $depth
  * @param string $mode
  * @return void
  */
 public function statisticAction($depth = 1, $mode = 'overview')
 {
     if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['indexed_search']['external_parsers'])) {
         foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['indexed_search']['external_parsers'] as $extension => $_objRef) {
             /** @var \TYPO3\CMS\IndexedSearch\FileContentParser $fileContentParser */
             $fileContentParser = GeneralUtility::getUserObj($_objRef);
             if ($fileContentParser->softInit($extension)) {
                 $this->external_parsers[$extension] = $fileContentParser;
             }
         }
     }
     $this->administrationRepository->external_parsers = $this->external_parsers;
     $allLines = $this->administrationRepository->getTree($this->pageUid, $depth, $mode);
     $this->view->assignMultiple(['levelTranslations' => explode('|', $this->getLanguageService()->sL('LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.enterSearchLevels')), 'tree' => $allLines, 'pageUid' => $this->pageUid, 'mode' => $mode, 'depth' => $depth]);
 }
Exemple #10
0
 /**
  * Gets all buttons for the docheader
  */
 protected function generateButtons()
 {
     $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
     $moduleName = $this->request->getPluginName();
     $getVars = $this->request->hasArgument('getVars') ? $this->request->getArgument('getVars') : [];
     $setVars = $this->request->hasArgument('setVars') ? $this->request->getArgument('setVars') : [];
     if ($this->getBackendUser()->mayMakeShortcut()) {
         if (count($getVars) === 0) {
             $modulePrefix = strtolower('tx_' . $this->request->getControllerExtensionName() . '_' . $moduleName);
             $getVars = array('id', 'M', $modulePrefix);
         }
         $shortcutButton = $buttonBar->makeFullyRenderedButton()->setHtmlSource($this->view->getModuleTemplate()->makeShortcutIcon(implode(',', $getVars), implode(',', $setVars), $moduleName));
         $buttonBar->addButton($shortcutButton, ButtonBar::BUTTON_POSITION_RIGHT, 99);
     }
 }
 /**
  * Registers the Icons into the docheader
  *
  * @return void
  * @throws \InvalidArgumentException
  */
 protected function registerDocheaderButtons()
 {
     /** @var ButtonBar $buttonBar */
     $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
     $currentRequest = $this->request;
     $moduleName = $currentRequest->getPluginName();
     $getVars = $this->request->getArguments();
     $extensionName = $currentRequest->getControllerExtensionName();
     if (count($getVars) === 0) {
         $modulePrefix = strtolower('tx_' . $extensionName . '_' . $moduleName);
         $getVars = array('id', 'M', $modulePrefix);
     }
     $shortcutName = $this->getLanguageService()->sL('LLL:EXT:beuser/Resources/Private/Language/locallang.xml:backendUsers');
     if ($this->request->getControllerName() === 'BackendUser') {
         if ($this->request->getControllerActionName() === 'index') {
             $returnUrl = rawurlencode(BackendUtility::getModuleUrl('system_BeuserTxBeuser'));
             $parameters = GeneralUtility::explodeUrl2Array('edit[be_users][0]=new&returnUrl=' . $returnUrl);
             $addUserLink = BackendUtility::getModuleUrl('record_edit', $parameters);
             $title = $this->getLanguageService()->sL('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral', true);
             $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-document-new', Icon::SIZE_SMALL);
             $addUserButton = $buttonBar->makeLinkButton()->setHref($addUserLink)->setTitle($title)->setIcon($icon);
             $buttonBar->addButton($addUserButton, ButtonBar::BUTTON_POSITION_LEFT);
         }
         if ($this->request->getControllerActionName() === 'compare') {
             $addUserLink = BackendUtility::getModuleUrl('system_BeuserTxBeuser');
             $title = $this->getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.goBack', true);
             $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-view-go-back', Icon::SIZE_SMALL);
             $addUserButton = $buttonBar->makeLinkButton()->setHref($addUserLink)->setTitle($title)->setIcon($icon);
             $buttonBar->addButton($addUserButton, ButtonBar::BUTTON_POSITION_LEFT);
         }
         if ($this->request->getControllerActionName() === 'online') {
             $shortcutName = $this->getLanguageService()->sL('LLL:EXT:beuser/Resources/Private/Language/locallang.xml:onlineUsers');
         }
     }
     if ($this->request->getControllerName() === 'BackendUserGroup') {
         $shortcutName = $this->getLanguageService()->sL('LLL:EXT:beuser/Resources/Private/Language/locallang.xml:backendUserGroupsMenu');
         $returnUrl = rawurlencode(BackendUtility::getModuleUrl('system_BeuserTxBeuser', array('tx_beuser_system_beusertxbeuser' => array('action' => 'index', 'controller' => 'BackendUserGroup'))));
         $parameters = GeneralUtility::explodeUrl2Array('edit[be_groups][0]=new&returnUrl=' . $returnUrl);
         $addUserLink = BackendUtility::getModuleUrl('record_edit', $parameters);
         $title = $this->getLanguageService()->sL('LLL:EXT:backend/Resources/Private/Language/locallang_layout.xlf:newRecordGeneral', true);
         $icon = $this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-document-new', Icon::SIZE_SMALL);
         $addUserGroupButton = $buttonBar->makeLinkButton()->setHref($addUserLink)->setTitle($title)->setIcon($icon);
         $buttonBar->addButton($addUserGroupButton, ButtonBar::BUTTON_POSITION_LEFT);
     }
     $shortcutButton = $buttonBar->makeShortcutButton()->setModuleName($moduleName)->setDisplayName($shortcutName)->setGetVariables($getVars);
     $buttonBar->addButton($shortcutButton);
 }
Exemple #12
0
 /**
  * Registers the Icons into the docheader
  *
  * @return void
  * @throws \InvalidArgumentException
  */
 protected function registerDocheaderButtons()
 {
     /** @var ButtonBar $buttonBar */
     $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
     $currentRequest = $this->request;
     $moduleName = $currentRequest->getPluginName();
     $getVars = $this->request->getArguments();
     $extensionName = $currentRequest->getControllerExtensionName();
     if (count($getVars) === 0) {
         $modulePrefix = strtolower('tx_' . $extensionName . '_' . $moduleName);
         $getVars = ['id', 'M', $modulePrefix];
     }
     $shortcutButton = $buttonBar->makeShortcutButton()->setModuleName($moduleName)->setGetVariables($getVars);
     $buttonBar->addButton($shortcutButton);
     $reloadButton = $buttonBar->makeLinkButton()->setHref('#')->setDataAttributes(['action' => 'reload'])->setTitle($this->getLanguageService()->sL('LLL:EXT:recycler/Resources/Private/Language/locallang.xlf:button.reload'))->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon('actions-refresh', Icon::SIZE_SMALL));
     $buttonBar->addButton($reloadButton, ButtonBar::BUTTON_POSITION_RIGHT);
 }
 /**
  * Determine the url to view
  *
  * @return string
  */
 protected function getTargetUrl()
 {
     $pageIdToShow = (int) GeneralUtility::_GP('id');
     $permissionClause = $this->getBackendUser()->getPagePermsClause(1);
     $pageRecord = BackendUtility::readPageAccess($pageIdToShow, $permissionClause);
     if ($pageRecord) {
         $this->view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($pageRecord);
         $adminCommand = $this->getAdminCommand($pageIdToShow);
         $domainName = $this->getDomainName($pageIdToShow);
         $languageParameter = $this->getLanguageParameter();
         // Mount point overlay: Set new target page id and mp parameter
         /** @var \TYPO3\CMS\Frontend\Page\PageRepository $sysPage */
         $sysPage = GeneralUtility::makeInstance(\TYPO3\CMS\Frontend\Page\PageRepository::class);
         $sysPage->init(false);
         $mountPointMpParameter = '';
         $finalPageIdToShow = $pageIdToShow;
         $mountPointInformation = $sysPage->getMountPointInfo($pageIdToShow);
         if ($mountPointInformation && $mountPointInformation['overlay']) {
             // New page id
             $finalPageIdToShow = $mountPointInformation['mount_pid'];
             $mountPointMpParameter = '&MP=' . $mountPointInformation['MPvar'];
         }
         // Modify relative path to protocol with host if domain record is given
         $protocolAndHost = '..';
         if ($domainName) {
             // TCEMAIN.previewDomain can contain the protocol, check prevents double protocol URLs
             if (strpos($domainName, '://') !== false) {
                 $protocolAndHost = $domainName;
             } else {
                 $protocol = 'http';
                 $page = (array) $sysPage->getPage($finalPageIdToShow);
                 if ($page['url_scheme'] == 2 || $page['url_scheme'] == 0 && GeneralUtility::getIndpEnv('TYPO3_SSL')) {
                     $protocol = 'https';
                 }
                 $protocolAndHost = $protocol . '://' . $domainName;
             }
         }
         return $protocolAndHost . '/index.php?id=' . $finalPageIdToShow . $this->getTypeParameterIfSet($finalPageIdToShow) . $mountPointMpParameter . $adminCommand . $languageParameter;
     } else {
         return '#';
     }
 }
Exemple #14
0
 /**
  * Create the panel of buttons for submitting the form or otherwise perform operations.
  *
  * @return array All available buttons as an assoc. array
  */
 protected function registerButtons()
 {
     /** @var ButtonBar $buttonBar */
     $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
     /** @var IconFactory $iconFactory */
     $iconFactory = $this->view->getModuleTemplate()->getIconFactory();
     /** @var $resourceFactory ResourceFactory */
     $resourceFactory = GeneralUtility::makeInstance(ResourceFactory::class);
     $lang = $this->getLanguageService();
     // Refresh page
     $refreshLink = GeneralUtility::linkThisScript(['target' => rawurlencode($this->folderObject->getCombinedIdentifier()), 'imagemode' => $this->filelist->thumbs]);
     $refreshButton = $buttonBar->makeLinkButton()->setHref($refreshLink)->setTitle($lang->sL('LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.reload'))->setIcon($iconFactory->getIcon('actions-refresh', Icon::SIZE_SMALL));
     $buttonBar->addButton($refreshButton, ButtonBar::BUTTON_POSITION_RIGHT);
     // Level up
     try {
         $currentStorage = $this->folderObject->getStorage();
         $parentFolder = $this->folderObject->getParentFolder();
         if ($parentFolder->getIdentifier() !== $this->folderObject->getIdentifier() && $currentStorage->isWithinFileMountBoundaries($parentFolder)) {
             $levelUpClick = 'top.document.getElementsByName("navigation")[0].contentWindow.Tree.highlightActiveItem("file","folder' . GeneralUtility::md5int($parentFolder->getCombinedIdentifier()) . '_"+top.fsMod.currentBank)';
             $levelUpButton = $buttonBar->makeLinkButton()->setHref(BackendUtility::getModuleUrl('file_FilelistList', ['id' => $parentFolder->getCombinedIdentifier()]))->setOnClick($levelUpClick)->setTitle($lang->sL('LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.upOneLevel'))->setIcon($iconFactory->getIcon('actions-view-go-up', Icon::SIZE_SMALL));
             $buttonBar->addButton($levelUpButton, ButtonBar::BUTTON_POSITION_LEFT, 1);
         }
     } catch (\Exception $e) {
     }
     // Shortcut
     if ($this->getBackendUser()->mayMakeShortcut()) {
         $shortCutButton = $buttonBar->makeShortcutButton()->setModuleName('file_FilelistList');
         $buttonBar->addButton($shortCutButton, ButtonBar::BUTTON_POSITION_RIGHT);
     }
     // Upload button (only if upload to this directory is allowed)
     if ($this->folderObject && $this->folderObject->getStorage()->checkUserActionPermission('add', 'File') && $this->folderObject->checkActionPermission('write')) {
         $uploadButton = $buttonBar->makeLinkButton()->setHref(BackendUtility::getModuleUrl('file_upload', ['target' => $this->folderObject->getCombinedIdentifier(), 'returnUrl' => $this->filelist->listURL()]))->setClasses('t3js-drag-uploader-trigger')->setTitle($lang->sL('LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:cm.upload'))->setIcon($iconFactory->getIcon('actions-edit-upload', Icon::SIZE_SMALL));
         $buttonBar->addButton($uploadButton, ButtonBar::BUTTON_POSITION_LEFT, 1);
     }
     // New folder button
     if ($this->folderObject && $this->folderObject->checkActionPermission('write') && ($this->folderObject->getStorage()->checkUserActionPermission('add', 'File') || $this->folderObject->checkActionPermission('add'))) {
         $newButton = $buttonBar->makeLinkButton()->setHref(BackendUtility::getModuleUrl('file_newfolder', ['target' => $this->folderObject->getCombinedIdentifier(), 'returnUrl' => $this->filelist->listURL()]))->setTitle($lang->sL('LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:cm.new'))->setIcon($iconFactory->getIcon('actions-document-new', Icon::SIZE_SMALL));
         $buttonBar->addButton($newButton, ButtonBar::BUTTON_POSITION_LEFT, 1);
     }
     // Add paste button if clipboard is initialized
     if ($this->filelist->clipObj instanceof Clipboard && $this->folderObject->checkActionPermission('write')) {
         $elFromTable = $this->filelist->clipObj->elFromTable('_FILE');
         if (!empty($elFromTable)) {
             $addPasteButton = true;
             $elToConfirm = [];
             foreach ($elFromTable as $key => $element) {
                 $clipBoardElement = $resourceFactory->retrieveFileOrFolderObject($element);
                 if ($clipBoardElement instanceof Folder && $clipBoardElement->getStorage()->isWithinFolder($clipBoardElement, $this->folderObject)) {
                     $addPasteButton = false;
                 }
                 $elToConfirm[$key] = $clipBoardElement->getName();
             }
             if ($addPasteButton) {
                 $confirmText = $this->filelist->clipObj->confirmMsgText('_FILE', $this->folderObject->getReadablePath(), 'into', $elToConfirm);
                 $pasteButton = $buttonBar->makeLinkButton()->setHref($this->filelist->clipObj->pasteUrl('_FILE', $this->folderObject->getCombinedIdentifier()))->setClasses('t3js-modal-trigger')->setDataAttributes(['severity' => 'warning', 'content' => $confirmText, 'title' => $lang->getLL('clip_paste')])->setTitle($lang->getLL('clip_paste'))->setIcon($iconFactory->getIcon('actions-document-paste-into', Icon::SIZE_SMALL));
                 $buttonBar->addButton($pasteButton, ButtonBar::BUTTON_POSITION_LEFT, 2);
             }
         }
     }
 }