--- /dev/null
+{if !$uploadField->supportMultipleFiles() && $uploadField->isImageOnly()}
+ <div class="selectedImagePreview uploadedFile" id="{$uploadFieldId}uploadFileList" data-internal-id="{$uploadField->getInternalId()}">{*
+ *}{if !$uploadFieldFiles|empty}{*
+ *}{assign var="file" value=$uploadFieldFiles|reset}{*
+ *}<img src="{$file->getImage()}" alt="" class="previewImage" id="{$uploadFieldId}Image" style="max-width: 100%" data-unique-file-id="{$file->getUniqueFileId()}">{*
+ *}
+ <ul class="buttonGroup"></ul>
+ {/if}{*
+ *}</div>
+{else}
+ <div class="formUploadHandlerContent">
+ <ul class="formUploadHandlerList" id="{$uploadFieldId}uploadFileList" data-internal-id="{$uploadField->getInternalId()}">
+ {foreach from=$uploadFieldFiles item=file}
+ <li class="box64 uploadedFile" data-unique-file-id="{$file->getUniqueFileId()}">
+ <span class="icon icon64 fa-{$file->getIconName()}"></span>
+
+ <div>
+ <div>
+ <p>{$file->getFilename()}</p>
+ <small>{@$file->filesize|filesize}</small>
+ </div>
+
+ <ul class="buttonGroup"></ul>
+ </div>
+ </li>
+ {/foreach}
+ </ul>
+ </div>
+{/if}
+
+<div id="{$uploadFieldId}UploadButtonDiv" class="uploadButtonDiv"></div>
+
+<input type="hidden" name="{$uploadFieldId}" value="{$uploadField->getInternalId()}">
+
+<script data-relocate="true">
+ require(['WoltLabSuite/Core/Ui/File/Upload', 'Language'], function(Upload, Language) {
+ new Upload("{$uploadFieldId}UploadButtonDiv", "{$uploadFieldId}uploadFileList", {
+ internalId: '{$uploadField->getInternalId()}',
+ {if $uploadField->getMaxFiles()}maxFiles: {$uploadField->getMaxFiles()},{/if}
+ imagePreview: {if !$uploadField->supportMultipleFiles() && $uploadField->isImageOnly()}true{else}false{/if}
+ });
+
+ Language.addObject({
+ 'wcf.upload.error.reachedRemainingLimit': '{lang}wcf.upload.error.reachedRemainingLimit{/lang}',
+ 'wcf.upload.error.noImage': '{lang}wcf.upload.error.noImage{/lang}'
+ });
+ });
+</script>
\ No newline at end of file
--- /dev/null
+<?php
+namespace wcf\acp\action;
+
+/**
+ * Action to delete files in the acp.
+ *
+ * @author Joshua Ruesweg
+ * @copyright 2001-2018 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package WoltLabSuite\Core\Acp\Action
+ * @since 5.2
+ */
+class AJAXFileDeleteAction extends \wcf\action\AJAXFileDeleteAction { }
--- /dev/null
+<?php
+namespace wcf\acp\action;
+
+/**
+ * Action to upload files in the acp.
+ *
+ * @author Joshua Ruesweg
+ * @copyright 2001-2018 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package WoltLabSuite\Core\Acp\Action
+ * @since 5.2
+ */
+class AJAXFileUploadAction extends \wcf\action\AJAXFileUploadAction { }