2 namespace TYPO3\CMS\Recycler\Controller;
85 $this->perms_clause = $backendUser->getPagePermsClause(1);
86 $this->pageRecord = \TYPO3\CMS\Backend\Utility\BackendUtility::readPageAccess($this->
id, $this->perms_clause);
87 $this->isAccessibleForCurrentUser = $this->
id && is_array($this->pageRecord) || !$this->
id && $this->
isCurrentUserAdmin();
90 if ($backendUser->workspace !== 0) {
91 $this->isAccessibleForCurrentUser =
false;
95 $modTS = $backendUser->getTSConfig(
'mod.recycler');
97 $this->allowDelete =
true;
99 $this->allowDelete = (bool)$modTS[
'properties'][
'allowDelete'];
102 if (isset($modTS[
'properties'][
'recordsPageLimit']) && intval($modTS[
'properties'][
'recordsPageLimit']) > 0) {
103 $this->recordsPageLimit = intval($modTS[
'properties'][
'recordsPageLimit']);
116 parent::initializeView($view);
117 $this->registerDocheaderButtons();
118 $this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue());
130 $this->view->getModuleTemplate()->getPageRenderer()->addInlineSettingArray(
'Recycler', $jsConfiguration);
131 $this->view->getModuleTemplate()->getPageRenderer()->addInlineLanguageLabelFile(
'EXT:recycler/Resources/Private/Language/locallang.xlf');
132 $this->view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($this->pageRecord);
135 $this->view->assign(
'allowDelete', $this->allowDelete);
144 protected function registerDocheaderButtons()
147 $buttonBar = $this->view->getModuleTemplate()->getDocHeaderComponent()->getButtonBar();
149 $moduleName = $currentRequest->getPluginName();
150 $getVars = $this->request->getArguments();
153 if (count($getVars) === 0) {
154 $modulePrefix = strtolower(
'tx_' .
$extensionName .
'_' . $moduleName);
155 $getVars = array(
'id',
'M', $modulePrefix);
157 $shortcutButton = $buttonBar->makeShortcutButton()
158 ->setModuleName($moduleName)
159 ->setGetVariables($getVars);
160 $buttonBar->addButton($shortcutButton);
162 $reloadButton = $buttonBar->makeLinkButton()
164 ->setDataAttributes([
'action' =>
'reload'])
165 ->setTitle($this->
getLanguageService()->sL(
'LLL:EXT:recycler/Resources/Private/Language/locallang.xlf:button.reload',
true))
166 ->setIcon($this->view->getModuleTemplate()->getIconFactory()->getIcon(
'actions-refresh',
Icon::SIZE_SMALL));
187 $configuration = array(
188 'pagingSize' => $this->recordsPageLimit,
189 'showDepthMenu' => 1,
192 'deleteDisable' => !$this->allowDelete,
195 'States' => $this->
getBackendUser()->uc[
'moduleData'][
'web_recycler'][
'States']
197 return $configuration;
210 if (isset($sessionData[$identifier]) && $sessionData[$identifier]) {
211 $data = $sessionData[$identifier];