From f46554846e8f8a10b20a99b97a0766e17147d8b7 Mon Sep 17 00:00:00 2001 From: AIC BV <89913092+AIC-BV@users.noreply.github.com> Date: Wed, 24 Jan 2024 11:25:44 +0100 Subject: [PATCH 1/3] [add] support for displaying PDF file --- .../formwidgets/fileupload/partials/_image_single.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/backend/formwidgets/fileupload/partials/_image_single.php b/modules/backend/formwidgets/fileupload/partials/_image_single.php index b0c58ef863..8453ef7b5c 100644 --- a/modules/backend/formwidgets/fileupload/partials/_image_single.php +++ b/modules/backend/formwidgets/fileupload/partials/_image_single.php @@ -30,7 +30,11 @@ class="upload-button">
- + content_type === 'application/pdf'): ?> + + + +

From 0f7b623722778980bab1b20af77b7d14d35f0777 Mon Sep 17 00:00:00 2001 From: Meindert Date: Fri, 25 Sep 2026 16:01:26 +0200 Subject: [PATCH 2/3] Show file extension icons for non-image files in the FileUpload widget Move the MediaManager's file extension SVG icon and its styles into a shared backend partial and LESS file, and use them in the FileUpload image modes for files browsers can't display in an , instead of rendering a broken thumbnail. Replaces the earlier PDF iframe approach. Co-Authored-By: Claude Opus 5.5 --- .../assets/less/controls/file-icon.less | 76 ++++++++++++++++++ modules/backend/formwidgets/FileUpload.php | 23 ++++++ .../fileupload/assets/css/fileupload.css | 35 +++++++++ .../fileupload/assets/js/fileupload.js | 8 +- .../assets/less/fileupload.imagemulti.less | 5 ++ .../assets/less/fileupload.imagesingle.less | 6 ++ .../fileupload/assets/less/fileupload.less | 1 + .../fileupload/partials/_image_multi.php | 6 +- .../fileupload/partials/_image_single.php | 4 +- modules/backend/partials/_file_icon.php | 13 ++++ .../mediamanager/assets/css/mediamanager.css | 66 ++++++++-------- .../assets/less/mediamanager.less | 78 +------------------ .../mediamanager/partials/_item-icon.php | 20 ++--- 13 files changed, 212 insertions(+), 129 deletions(-) create mode 100644 modules/backend/assets/less/controls/file-icon.less create mode 100644 modules/backend/partials/_file_icon.php diff --git a/modules/backend/assets/less/controls/file-icon.less b/modules/backend/assets/less/controls/file-icon.less new file mode 100644 index 0000000000..6326513900 --- /dev/null +++ b/modules/backend/assets/less/controls/file-icon.less @@ -0,0 +1,76 @@ +.file-icon { + fill-rule: evenodd; + clip-rule: evenodd; + stroke-linejoin: round; + stroke-miterlimit: 2; + display: inline-block; + + &-extension { + font-family: 'ArialMT','Arial',sans-serif; + font-size: 4em; + font-weight: 900; + fill: #fff; + } + + &-label { + fill: #576D7E; /* Default color */ + fill-rule: nonzero; + } + + &-css, + &-less, + &-scss { + fill: #B73FD9; + } + &-html, + &-xml { + fill: #EA9B47; + } + &-js, + &-json { + fill: #A9A9A9; + } + &-pdf { + fill: #E30713; + } + &-txt { + fill: #248BD0; + } + &-ai { + fill: #F29200; + } + &-eps { + fill: #F9B234; + } + &-psd { + fill: #2DAAE2; + } + &-ttf, + &-otf, + &-woff, + &-woff2 { + fill: #C4CA10; + } + &-doc, + &-docx, + &-rtf, + &-odt { + fill: #0F70B7; + } + &-csv, + &-ods, + &-xls, + &-xlsx { + fill: #3BAA34; + } + &-odp, + &-ppt, + &-pptx { + fill: #D04526; + } + &-rar, + &-tar, + &-zip { + fill: #363A56; + } +} diff --git a/modules/backend/formwidgets/FileUpload.php b/modules/backend/formwidgets/FileUpload.php index 1d6cc8fe38..ec0a3ac1e7 100644 --- a/modules/backend/formwidgets/FileUpload.php +++ b/modules/backend/formwidgets/FileUpload.php @@ -104,6 +104,11 @@ class FileUpload extends FormWidgetBase */ protected $configFormWidget; + /** + * @var array Extensions of image files that browsers can display, other files are shown with a file icon. + */ + protected $displayableImageExtensions = ['avif', 'bmp', 'gif', 'ico', 'jpeg', 'jpg', 'png', 'svg', 'webp']; + /** * @inheritDoc */ @@ -511,6 +516,7 @@ public function onUpload() $result = [ 'id' => $file->id, 'thumb' => $file->thumbUrl, + 'icon' => $this->makeFileIcon($file), 'path' => $file->pathUrl ]; @@ -543,6 +549,23 @@ protected function decorateFileAttributes($file) return $file; } + /** + * Renders a file extension icon for files that cannot be displayed as an image, + * returns null for image files. + */ + protected function makeFileIcon($file): ?string + { + $extension = strtolower($file->getExtension()); + + if (in_array($extension, $this->displayableImageExtensions)) { + return null; + } + + return $this->makePartial('~/modules/backend/partials/_file_icon.php', [ + 'extension' => $extension, + ]); + } + /** * Return max upload filesize in Mb * @return integer diff --git a/modules/backend/formwidgets/fileupload/assets/css/fileupload.css b/modules/backend/formwidgets/fileupload/assets/css/fileupload.css index 1f1ed08881..3c49b3b34b 100644 --- a/modules/backend/formwidgets/fileupload/assets/css/fileupload.css +++ b/modules/backend/formwidgets/fileupload/assets/css/fileupload.css @@ -1,3 +1,36 @@ +.file-icon{fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;display:inline-block} +.file-icon-extension{font-family:'ArialMT','Arial',sans-serif;font-size:4em;font-weight:900;fill:#fff} +.file-icon-label{fill:#576D7E;fill-rule:nonzero} +.file-icon-css, +.file-icon-less, +.file-icon-scss{fill:#B73FD9} +.file-icon-html, +.file-icon-xml{fill:#EA9B47} +.file-icon-js, +.file-icon-json{fill:#A9A9A9} +.file-icon-pdf{fill:#E30713} +.file-icon-txt{fill:#248BD0} +.file-icon-ai{fill:#F29200} +.file-icon-eps{fill:#F9B234} +.file-icon-psd{fill:#2DAAE2} +.file-icon-ttf, +.file-icon-otf, +.file-icon-woff, +.file-icon-woff2{fill:#C4CA10} +.file-icon-doc, +.file-icon-docx, +.file-icon-rtf, +.file-icon-odt{fill:#0F70B7} +.file-icon-csv, +.file-icon-ods, +.file-icon-xls, +.file-icon-xlsx{fill:#3BAA34} +.file-icon-odp, +.file-icon-ppt, +.file-icon-pptx{fill:#D04526} +.file-icon-rar, +.file-icon-tar, +.file-icon-zip{fill:#363A56} .field-fileupload .upload-object{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;position:relative;outline:none;overflow:hidden;display:inline-block;vertical-align:top} .field-fileupload .upload-object img{width:100%;height:100%} .field-fileupload .upload-object .icon-container{display:table;opacity:0.6} @@ -65,6 +98,7 @@ .field-fileupload.style-image-multi .upload-object .progress-bar .upload-progress{float:left;width:0%;height:100%;line-height:5px;color:#fff;background-color:#5fb6f5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:width 0.6s ease;transition:width 0.6s ease} .field-fileupload.style-image-multi .upload-object .icon-container{border-right:1px solid #f6f8f9;float:left;overflow:hidden;width:75px;height:75px;display:flex;align-items:center;justify-content:center} .field-fileupload.style-image-multi .upload-object .icon-container i{font-size:35px} +.field-fileupload.style-image-multi .upload-object .icon-container .file-icon{width:44px;height:44px} .field-fileupload.style-image-multi .upload-object .icon-container.image img{border-bottom-left-radius:3px;border-top-left-radius:3px;width:auto;height:auto;max-height:100%} .field-fileupload.style-image-multi .upload-object .info{margin-left:90px} .field-fileupload.style-image-multi .upload-object .info h4{padding-right:15px} @@ -97,6 +131,7 @@ .field-fileupload.style-image-single .upload-object{padding-bottom:66px} .field-fileupload.style-image-single .upload-object .icon-container{border:1px solid #f6f8f9;background:rgba(255,255,255,0.5)} .field-fileupload.style-image-single .upload-object .icon-container.image img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;display:block;max-width:100%;height:auto;min-height:100px;min-width:100px} +.field-fileupload.style-image-single .upload-object .icon-container .file-icon{display:block;width:100px;height:100px} .field-fileupload.style-image-single .upload-object .progress-bar{display:block;width:100%;overflow:hidden;height:5px;background-color:#f5f5f5;border-radius:3px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);position:absolute;bottom:10px;left:0} .field-fileupload.style-image-single .upload-object .progress-bar .upload-progress{float:left;width:0%;height:100%;line-height:5px;color:#fff;background-color:#5fb6f5;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:width 0.6s ease;transition:width 0.6s ease} .field-fileupload.style-image-single .upload-object .info{position:absolute;left:0;right:0;bottom:0;height:66px} diff --git a/modules/backend/formwidgets/fileupload/assets/js/fileupload.js b/modules/backend/formwidgets/fileupload/assets/js/fileupload.js index de9e47ab6c..c11f202c0f 100644 --- a/modules/backend/formwidgets/fileupload/assets/js/fileupload.js +++ b/modules/backend/formwidgets/fileupload/assets/js/fileupload.js @@ -215,7 +215,13 @@ $preview.data('id', response.id) $preview.data('path', response.path) $('.upload-remove-button', $preview).data('request-data', { file_id: response.id }) - $img.attr('src', response.thumb) + + if (response.icon) { + $img.replaceWith(response.icon) + } + else { + $img.attr('src', response.thumb) + } } this.triggerChange(); diff --git a/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagemulti.less b/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagemulti.less index ace43c1882..76788cbae7 100644 --- a/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagemulti.less +++ b/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagemulti.less @@ -46,6 +46,11 @@ font-size: 35px; } + .file-icon { + width: 44px; + height: 44px; + } + &.image img { .border-left-radius(3px); width: auto; diff --git a/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagesingle.less b/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagesingle.less index a0b49828c4..5a101fc45a 100644 --- a/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagesingle.less +++ b/modules/backend/formwidgets/fileupload/assets/less/fileupload.imagesingle.less @@ -32,6 +32,12 @@ min-height: 100px; min-width: 100px; } + + .file-icon { + display: block; + width: 100px; + height: 100px; + } } .progress-bar { diff --git a/modules/backend/formwidgets/fileupload/assets/less/fileupload.less b/modules/backend/formwidgets/fileupload/assets/less/fileupload.less index 3415f98618..56121ef695 100644 --- a/modules/backend/formwidgets/fileupload/assets/less/fileupload.less +++ b/modules/backend/formwidgets/fileupload/assets/less/fileupload.less @@ -1,4 +1,5 @@ @import "../../../../assets/less/core/boot.less"; +@import "../../../../assets/less/controls/file-icon.less"; @fileupload-progress-bar-height: 5px; @fileupload-progress-bar-color: #fff; diff --git a/modules/backend/formwidgets/fileupload/partials/_image_multi.php b/modules/backend/formwidgets/fileupload/partials/_image_multi.php index 59364b0cda..01ab24c2b3 100644 --- a/modules/backend/formwidgets/fileupload/partials/_image_multi.php +++ b/modules/backend/formwidgets/fileupload/partials/_image_multi.php @@ -26,7 +26,11 @@ class="field-fileupload style-image-multi is-sortable is-multi
- + makeFileIcon($file)): ?> + + + +

diff --git a/modules/backend/formwidgets/fileupload/partials/_image_single.php b/modules/backend/formwidgets/fileupload/partials/_image_single.php index 71ff190cd7..15eb912b89 100644 --- a/modules/backend/formwidgets/fileupload/partials/_image_single.php +++ b/modules/backend/formwidgets/fileupload/partials/_image_single.php @@ -30,8 +30,8 @@ class="upload-button">
- content_type === 'application/pdf'): ?> - + makeFileIcon($singleFile)): ?> + diff --git a/modules/backend/partials/_file_icon.php b/modules/backend/partials/_file_icon.php new file mode 100644 index 0000000000..7fe53e61dd --- /dev/null +++ b/modules/backend/partials/_file_icon.php @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/modules/backend/widgets/mediamanager/assets/css/mediamanager.css b/modules/backend/widgets/mediamanager/assets/css/mediamanager.css index 9d943e4beb..ae63b8c1cc 100644 --- a/modules/backend/widgets/mediamanager/assets/css/mediamanager.css +++ b/modules/backend/widgets/mediamanager/assets/css/mediamanager.css @@ -1,40 +1,40 @@ +.file-icon{fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;display:inline-block} +.file-icon-extension{font-family:'ArialMT','Arial',sans-serif;font-size:4em;font-weight:900;fill:#fff} +.file-icon-label{fill:#576D7E;fill-rule:nonzero} +.file-icon-css, +.file-icon-less, +.file-icon-scss{fill:#B73FD9} +.file-icon-html, +.file-icon-xml{fill:#EA9B47} +.file-icon-js, +.file-icon-json{fill:#A9A9A9} +.file-icon-pdf{fill:#E30713} +.file-icon-txt{fill:#248BD0} +.file-icon-ai{fill:#F29200} +.file-icon-eps{fill:#F9B234} +.file-icon-psd{fill:#2DAAE2} +.file-icon-ttf, +.file-icon-otf, +.file-icon-woff, +.file-icon-woff2{fill:#C4CA10} +.file-icon-doc, +.file-icon-docx, +.file-icon-rtf, +.file-icon-odt{fill:#0F70B7} +.file-icon-csv, +.file-icon-ods, +.file-icon-xls, +.file-icon-xlsx{fill:#3BAA34} +.file-icon-odp, +.file-icon-ppt, +.file-icon-pptx{fill:#D04526} +.file-icon-rar, +.file-icon-tar, +.file-icon-zip{fill:#363A56} div[data-control="media-manager"]:focus{outline:none} div[data-control="media-manager"] audio, div[data-control="media-manager"] video{width:100%} div[data-control="media-manager"] video{background:#ecf0f1;max-height:225px} -div[data-control="media-manager"] .file-icon{fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;display:inline-block} -div[data-control="media-manager"] .file-icon-extension{font-family:'ArialMT','Arial',sans-serif;font-size:4em;font-weight:900;fill:#fff} -div[data-control="media-manager"] .file-icon-label{fill:#576D7E;fill-rule:nonzero} -div[data-control="media-manager"] .file-icon-css, -div[data-control="media-manager"] .file-icon-less, -div[data-control="media-manager"] .file-icon-scss{fill:#B73FD9} -div[data-control="media-manager"] .file-icon-html, -div[data-control="media-manager"] .file-icon-xml{fill:#EA9B47} -div[data-control="media-manager"] .file-icon-js, -div[data-control="media-manager"] .file-icon-json{fill:#A9A9A9} -div[data-control="media-manager"] .file-icon-pdf{fill:#E30713} -div[data-control="media-manager"] .file-icon-txt{fill:#248BD0} -div[data-control="media-manager"] .file-icon-ai{fill:#F29200} -div[data-control="media-manager"] .file-icon-eps{fill:#F9B234} -div[data-control="media-manager"] .file-icon-psd{fill:#2DAAE2} -div[data-control="media-manager"] .file-icon-ttf, -div[data-control="media-manager"] .file-icon-otf, -div[data-control="media-manager"] .file-icon-woff, -div[data-control="media-manager"] .file-icon-woff2{fill:#C4CA10} -div[data-control="media-manager"] .file-icon-doc, -div[data-control="media-manager"] .file-icon-docx, -div[data-control="media-manager"] .file-icon-rtf, -div[data-control="media-manager"] .file-icon-odt{fill:#0F70B7} -div[data-control="media-manager"] .file-icon-csv, -div[data-control="media-manager"] .file-icon-ods, -div[data-control="media-manager"] .file-icon-xls, -div[data-control="media-manager"] .file-icon-xlsx{fill:#3BAA34} -div[data-control="media-manager"] .file-icon-odp, -div[data-control="media-manager"] .file-icon-ppt, -div[data-control="media-manager"] .file-icon-pptx{fill:#D04526} -div[data-control="media-manager"] .file-icon-rar, -div[data-control="media-manager"] .file-icon-tar, -div[data-control="media-manager"] .file-icon-zip{fill:#363A56} div[data-control="media-manager"] .media-player-fallback{font-size:13px;color:#95a5a6;background:#ecf0f1;line-height:180%} div[data-control="media-manager"] .media-player-fallback.panel-embedded{padding:20px;margin:-20px -20px 0 -20px} div[data-control="media-manager"] .empty-library{padding:20px;text-align:center} diff --git a/modules/backend/widgets/mediamanager/assets/less/mediamanager.less b/modules/backend/widgets/mediamanager/assets/less/mediamanager.less index 3aa47365bd..2ab52f9e3b 100644 --- a/modules/backend/widgets/mediamanager/assets/less/mediamanager.less +++ b/modules/backend/widgets/mediamanager/assets/less/mediamanager.less @@ -1,4 +1,5 @@ @import "../../../../../backend/assets/less/core/boot.less"; +@import "../../../../../backend/assets/less/controls/file-icon.less"; @color-media-list-hover-bg: mix(white, @brand-secondary, 13%); @@ -63,83 +64,6 @@ div[data-control="media-manager"] { max-height: 225px; } - .file-icon { - fill-rule: evenodd; - clip-rule: evenodd; - stroke-linejoin: round; - stroke-miterlimit: 2; - display: inline-block; - - &-extension { - font-family: 'ArialMT','Arial',sans-serif; - font-size: 4em; - font-weight: 900; - fill: #fff; - } - - &-label { - fill: #576D7E; /* Default color */ - fill-rule: nonzero; - } - - &-css, - &-less, - &-scss { - fill: #B73FD9; - } - &-html, - &-xml { - fill: #EA9B47; - } - &-js, - &-json { - fill: #A9A9A9; - } - &-pdf { - fill: #E30713; - } - &-txt { - fill: #248BD0; - } - &-ai { - fill: #F29200; - } - &-eps { - fill: #F9B234; - } - &-psd { - fill: #2DAAE2; - } - &-ttf, - &-otf, - &-woff, - &-woff2 { - fill: #C4CA10; - } - &-doc, - &-docx, - &-rtf, - &-odt { - fill: #0F70B7; - } - &-csv, - &-ods, - &-xls, - &-xlsx { - fill: #3BAA34; - } - &-odp, - &-ppt, - &-pptx { - fill: #D04526; - } - &-rar, - &-tar, - &-zip { - fill: #363A56; - } - } - .media-player-fallback { font-size: 13px; color: #95a5a6; diff --git a/modules/backend/widgets/mediamanager/partials/_item-icon.php b/modules/backend/widgets/mediamanager/partials/_item-icon.php index 9b789b8158..b53502b099 100644 --- a/modules/backend/widgets/mediamanager/partials/_item-icon.php +++ b/modules/backend/widgets/mediamanager/partials/_item-icon.php @@ -1,20 +1,10 @@
- itemTypeToIconClass($item, $itemType); - $extension = substr(strtolower(pathinfo($item->path, PATHINFO_EXTENSION)), 0, 4) ?? '???'; - - if ($itemIconClass == 'icon-file'): ?> - - - - - - - - - - + itemTypeToIconClass($item, $itemType) ?> + + makePartial('~/modules/backend/partials/_file_icon.php', [ + 'extension' => pathinfo($item->path, PATHINFO_EXTENSION), + ]) ?> From f6a26757952271a8d71104779b17f1a7708b0afb Mon Sep 17 00:00:00 2001 From: Meindert Date: Thu, 8 Oct 2026 12:12:34 +0200 Subject: [PATCH 3/3] Add Backend::fileIcon() helper for file extension icons The FileUpload widget and the MediaManager both render the icon through the helper instead of including the partial by path. Co-Authored-By: Claude Opus 5.5 --- modules/backend/facades/Backend.php | 1 + modules/backend/formwidgets/FileUpload.php | 5 ++--- modules/backend/helpers/Backend.php | 11 +++++++++++ .../{partials/_file_icon.php => views/file_icon.php} | 7 ++----- .../widgets/mediamanager/partials/_item-icon.php | 4 +--- 5 files changed, 17 insertions(+), 11 deletions(-) rename modules/backend/{partials/_file_icon.php => views/file_icon.php} (66%) diff --git a/modules/backend/facades/Backend.php b/modules/backend/facades/Backend.php index 1d679a073b..ac40a7a1a1 100644 --- a/modules/backend/facades/Backend.php +++ b/modules/backend/facades/Backend.php @@ -12,6 +12,7 @@ * @method static \Illuminate\Http\RedirectResponse redirectIntended(string $path, int $status = 302, array $headers = [], ?bool $secure = null) * @method static string date($dateTime, array $options = []) * @method static string dateTime($dateTime, array $options = []) + * @method static string fileIcon(string $extension) * * @see \Backend\Helpers\Backend */ diff --git a/modules/backend/formwidgets/FileUpload.php b/modules/backend/formwidgets/FileUpload.php index ec0a3ac1e7..df2df69b7c 100644 --- a/modules/backend/formwidgets/FileUpload.php +++ b/modules/backend/formwidgets/FileUpload.php @@ -4,6 +4,7 @@ use Backend\Classes\FormField; use Backend\Classes\FormWidgetBase; +use Backend\Facades\Backend; use Backend\Widgets\Form; use Exception; use Illuminate\Support\Facades\Response; @@ -561,9 +562,7 @@ protected function makeFileIcon($file): ?string return null; } - return $this->makePartial('~/modules/backend/partials/_file_icon.php', [ - 'extension' => $extension, - ]); + return Backend::fileIcon($extension); } /** diff --git a/modules/backend/helpers/Backend.php b/modules/backend/helpers/Backend.php index b38fd58c06..b12f18e68e 100644 --- a/modules/backend/helpers/Backend.php +++ b/modules/backend/helpers/Backend.php @@ -7,6 +7,7 @@ use Exception; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\Request; +use Illuminate\Support\Facades\View; use System\Helpers\DateTime as DateTimeHelper; use Winter\Storm\Router\Helper as RouterHelper; use Winter\Storm\Support\Facades\Config; @@ -182,6 +183,16 @@ public function dateTime($dateTime, $options = []) return ''.e($defaultValue).''.PHP_EOL; } + /** + * Returns the SVG markup for a generic file icon labelled with the given file extension. + */ + public function fileIcon(string $extension): string + { + return View::make('backend::file_icon', [ + 'extension' => substr(strtolower(ltrim($extension, '.')), 0, 4), + ])->render(); + } + /** * Decompiles the compilation asset files * diff --git a/modules/backend/partials/_file_icon.php b/modules/backend/views/file_icon.php similarity index 66% rename from modules/backend/partials/_file_icon.php rename to modules/backend/views/file_icon.php index 7fe53e61dd..4352e295ac 100644 --- a/modules/backend/partials/_file_icon.php +++ b/modules/backend/views/file_icon.php @@ -1,13 +1,10 @@ - - + - + diff --git a/modules/backend/widgets/mediamanager/partials/_item-icon.php b/modules/backend/widgets/mediamanager/partials/_item-icon.php index b53502b099..2177d27077 100644 --- a/modules/backend/widgets/mediamanager/partials/_item-icon.php +++ b/modules/backend/widgets/mediamanager/partials/_item-icon.php @@ -2,9 +2,7 @@
itemTypeToIconClass($item, $itemType) ?> - makePartial('~/modules/backend/partials/_file_icon.php', [ - 'extension' => pathinfo($item->path, PATHINFO_EXTENSION), - ]) ?> + path, PATHINFO_EXTENSION)) ?>