72 parent::__construct();
89 $this->fileOrFolderObject = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->retrieveFileOrFolderObject($this->target);
91 if (!$this->fileOrFolderObject) {
93 $message = $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_mod_file_list.xlf:targetNoDir',
true);
94 throw new \RuntimeException(
$title .
': ' . $message, 1294586844);
96 if ($this->fileOrFolderObject->getStorage()->getUid() === 0) {
97 throw new \TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException(
'You are not allowed to access files outside your storages', 1375889840);
104 if ($this->fileOrFolderObject instanceof \TYPO3\CMS\Core\Resource\
Folder) {
105 $parsedUrl = parse_url($this->returnUrl);
107 if ($queryParts[
'id'] === $this->fileOrFolderObject->getCombinedIdentifier()) {
108 $this->returnUrl = str_replace(urlencode($queryParts[
'id']),
109 urlencode($this->fileOrFolderObject->getStorage()->getRootLevelFolder()->getCombinedIdentifier()),
116 'combined_identifier' => $this->fileOrFolderObject->getCombinedIdentifier(),
118 $this->moduleTemplate->getDocHeaderComponent()->setMetaInformation($pathInfo);
121 $this->moduleTemplate->getPageRenderer()->loadRequireJsModule(
'TYPO3/CMS/Backend/ClickMenu');
124 $this->moduleTemplate->addJavaScriptCode(
125 'RenameFileInlineJavaScript',
126 'function backToList() {top.goToModule("file_FilelistList");}'
138 if ($this->fileOrFolderObject instanceof \TYPO3\CMS\Core\Resource\
Folder) {
139 $fileIdentifier = $this->fileOrFolderObject->getCombinedIdentifier();
141 $fileIdentifier = $this->fileOrFolderObject->getUid();
143 $pageContent =
'<form action="' . htmlspecialchars(BackendUtility::getModuleUrl(
'tce_file')) .
'" method="post" name="editform" role="form">';
147 <div class="form-group">
148 <input class="form-control" type="text" name="file[rename][0][target]" value="' . htmlspecialchars($this->fileOrFolderObject->getName()) .
'" ' . $this->
getDocumentTemplate()->formWidth(40) .
' />
149 <input type="hidden" name="file[rename][0][data]" value="' . htmlspecialchars($fileIdentifier) .
'" />
154 <div class="form-group">
155 <input class="btn btn-primary" type="submit" value="' .
156 $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_core.xlf:file_rename.php.submit',
true) .
'" />
157 <input class="btn btn-danger" type="submit" value="' .
158 $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_core.xlf:labels.cancel',
true) .
159 '" onclick="backToList(); return false;" />
160 <input type="hidden" name="redirect" value="' . htmlspecialchars($this->returnUrl) .
'" />
163 $pageContent .=
'</form>';
166 $buttonBar = $this->moduleTemplate->getDocHeaderComponent()->getButtonBar();
169 $cshButton = $buttonBar->makeHelpButton()
170 ->setModuleName(
'xMOD_csh_corebe')
171 ->setFieldName(
'file_rename');
172 $buttonBar->addButton($cshButton);
175 if ($this->returnUrl) {
176 $backButton = $buttonBar->makeLinkButton()
178 ->setTitle($this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_core.xlf:labels.goBack',
true))
179 ->setIcon($this->moduleTemplate->getIconFactory()->getIcon(
'actions-view-go-back',
Icon::SIZE_SMALL));
180 $buttonBar->addButton($backButton);
184 $this->content =
'<h1>' . $this->
getLanguageService()->sL(
'LLL:EXT:lang/locallang_core.xlf:file_rename.php.pagetitle') .
'</h1>';
187 $this->content .=
'<div>' . $pageContent .
'</div>';
188 $this->moduleTemplate->setContent($this->content);
201 $response->
getBody()->write($this->moduleTemplate->renderContent());