diff --git a/typo3/sysext/backend/Classes/Form/Element/InlineElement.php b/typo3/sysext/backend/Classes/Form/Element/InlineElement.php index 7525ce51de5ae69275cfbc95707781481ca30bc3..95dfc040adadffeef6090d55a448dd950dabae3b 100644 --- a/typo3/sysext/backend/Classes/Form/Element/InlineElement.php +++ b/typo3/sysext/backend/Classes/Form/Element/InlineElement.php @@ -864,7 +864,7 @@ class InlineElement { /** * Generate a link that opens an element browser in a new window. - * For group/db there is no way o use a "selector" like a <select>|</select>-box. + * For group/db there is no way to use a "selector" like a <select>|</select>-box. * * @param array $conf TCA configuration of the parent(!) field * @param array $PA An array with additional configuration options @@ -900,24 +900,31 @@ class InlineElement { $browserParams = '|||' . $allowed . '|' . $objectPrefix . '|inline.checkUniqueElement||inline.importElement'; $onClick = 'setFormValueOpenBrowser(\'' . $mode . '\', \'' . $browserParams . '\'); return false;'; - $item = '<a href="#" class="t3-button" onclick="' . htmlspecialchars($onClick) . '">' . IconUtility::getSpriteIcon('actions-insert-record', array('title' => $createNewRelationText)) . $createNewRelationText . '</a>'; + $item = '<a href="#" class="t3-button" onclick="' . htmlspecialchars($onClick) . '">'; + $item .= IconUtility::getSpriteIcon('actions-insert-record', array('title' => $createNewRelationText)); + $item .= $createNewRelationText . '</a>'; if ($showUpload && $this->fObj->edit_docModuleUpload) { - $maxFileSize = GeneralUtility::getMaxUploadFileSize() * 1024; - $folder = $folder = $GLOBALS['BE_USER']->getDefaultUploadFolder(); - $item .= ' <a href="#" class="t3-button t3-drag-uploader" - style="display:none" - data-dropzone-target="#'.htmlspecialchars($this->inlineNames['object']).'" - data-insert-dropzone-before="1" - data-file-irre-object="'.htmlspecialchars($objectPrefix).'" - data-file-allowed="'.htmlspecialchars($allowed).'" - data-target-folder="'.htmlspecialchars($folder->getCombinedIdentifier()).'" - data-max-file-size="'.htmlspecialchars($maxFileSize).'" - ><span class="t3-icon t3-icon-actions t3-icon-actions-edit t3-icon-edit-upload"> </span>'; - $item .= $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:file_upload.select-and-submit', TRUE); - $item .= '</a>'; - - $this->loadDragUploadJs(); + $folder = $GLOBALS['BE_USER']->getDefaultUploadFolder(); + if ( + $folder instanceof \TYPO3\CMS\Core\Resource\Folder + && $folder->checkActionPermission('add') + ) { + $maxFileSize = GeneralUtility::getMaxUploadFileSize() * 1024; + $item .= ' <a href="#" class="t3-button t3-drag-uploader" + style="display:none" + data-dropzone-target="#' . htmlspecialchars($this->inlineNames['object']) . '" + data-insert-dropzone-before="1" + data-file-irre-object="' . htmlspecialchars($objectPrefix) . '" + data-file-allowed="' . htmlspecialchars($allowed) . '" + data-target-folder="' . htmlspecialchars($folder->getCombinedIdentifier()) . '" + data-max-file-size="' . htmlspecialchars($maxFileSize) . '" + ><span class="t3-icon t3-icon-actions t3-icon-actions-edit t3-icon-edit-upload"> </span>'; + $item .= $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:file_upload.select-and-submit', TRUE); + $item .= '</a>'; + + $this->loadDragUploadJs(); + } } return $item; }