Просмотр исходного кода

Ticket #4398 - Files: Update placeholder images.

AntonLV 3 лет назад
Родитель
Сommit
b3e3788801

+ 11 - 11
inc/classes/BxDolStorage.php

@@ -54,7 +54,7 @@ define('BX_DOL_STORAGE_ERR_NOT_IMPLEMENTED', 5005); ///< this feature isn't impl
 
 define('BX_DOL_STORAGE_DEFAULT_MIME_TYPE', 'octet/stream'); ///< default mime type if it is not find by extension
 
-define('BX_DOL_STORAGE_DEFAULT_ICON', 'mime-type-any.png'); ///< default icon if no other icon can be determined by file extension
+define('BX_DOL_STORAGE_DEFAULT_ICON', 'mime-type-any.svg'); ///< default icon if no other icon can be determined by file extension
 define('BX_DOL_STORAGE_DEFAULT_ICON_FONT', 'far file'); ///< default font icon if no other icon can be determined by file extension
 
 define('BX_DOL_STORAGE_QUEUED_DELETIONS_PER_RUN', 200); ///< max number of file deletions per one cron run, @see BxDolStorage::pruneDeletions
@@ -970,16 +970,16 @@ abstract class BxDolStorage extends BxDolFactory implements iBxDolFactoryObject
         );
         
         $aIcons = array (
-            'mime-type-psd.png' => array('psd'),
-            'mime-type-png.png' => array('png'),
-            'mime-type-image.png' => 'image/',
-            'mime-type-video.png' => 'video/',
-            'mime-type-audio.png' => 'audio/',
-            'mime-type-presentation.png' => array('ppt', 'pptx', 'sxi', 'sti', 'odp', 'sdp', 'sdd'),
-            'mime-type-spreadsheet.png' => array('xls', 'xlt', 'xlsx', 'sxc', 'stc', 'ods', 'ots', 'sdc', 'csv', 'dif', 'slk', 'pxl'),
-            'mime-type-document.png' => array('doc', 'docx', 'odt', 'ott', 'sxw', 'stw', 'rtf', 'sdw', 'txt', 'pdb', 'psw', 'pdf'),
-            'mime-type-vector.png' => array('ac5', 'ac6', 'aff', 'agd1', 'ai', 'ait', 'art', 'awg', 'b2f', 'cag', 'cbd', 'cdl', 'cdr', 'cdr3', 'cdr4', 'cdr5', 'cdr6', 'cdrw', 'cdx', 'cgm', 'cht', 'cil', 'cit', 'cnv', 'csl', 'ctn', 'cv5', 'cvg', 'cvi', 'cvl', 'cvs', 'cvx', 'dcs', 'ddoc', 'ddrw', 'ded', 'design', 'dmw', 'do', 'dpp', 'dpr', 'draw', 'drw', 'dsf', 'dsf', 'dsx', 'dvg', 'dxb', 'emb', 'evf', 'fcd', 'fh', 'fhd', 'fmv', 'fs', 'ft10', 'ft11', 'ft9', 'ft8', 'gem', 'gl2', 'graffle', 'gsd', 'gsd', 'hpg', 'hpgl', 'hpgl2', 'hpl', 'hplj', 'hpp', 'hppcl', 'idw', 'ima', 'macdraw', 'mgcb', 'mgs', 'mvg', 'nap', 'naplps', 'odg', 'p10', 'pat', 'pct', 'pd', 'pdw', 'pgs', 'pic', 'pif', 'pix', 'plo', 'plot', 'plt', 'ps', 'psid', 'pws', 'rdl', 's57', 'sdw', 'sif', 'sk2', 'slddwg', 'sp', 'spa', 'svf', 'svg', 'svgb', 'svgz', 'sxd', 'tdr', 'tlc', 'tng', 'vbr', 'vec', 'vect', 'veh', 'vml', 'vss', 'web', 'web', 'web', 'yal'),
-            'mime-type-archive.png' => array('7z', '7zip', 'aar', 'ace', 'alz', 'arj', 'bz2', 'bza', 'bzip2', 'bzp', 'bzp2', 'cab', 'czip', 'gnutar', 'gz', 'gza', 'gzi', 'gzip', 'ha', 'lhz', 'lzma', 'pzip', 'rar', 'roo', 's7z', 'tar', 'tar-gz', 'tar-lzma', 'tar-z', 'taz', 'tbz', 'tbz2', 'tgz', 'tz', 'z', 'zip', 'zipx', 'zix', 'zoo'),
+            'mime-type-psd.svg' => array('psd'),
+            'mime-type-png.svg' => array('png'),
+            'mime-type-image.svg' => 'image/',
+            'mime-type-video.svg' => 'video/',
+            'mime-type-audio.svg' => 'audio/',
+            'mime-type-presentation.svg' => array('ppt', 'pptx', 'sxi', 'sti', 'odp', 'sdp', 'sdd'),
+            'mime-type-spreadsheet.svg' => array('xls', 'xlt', 'xlsx', 'sxc', 'stc', 'ods', 'ots', 'sdc', 'csv', 'dif', 'slk', 'pxl'),
+            'mime-type-document.svg' => array('doc', 'docx', 'odt', 'ott', 'sxw', 'stw', 'rtf', 'sdw', 'txt', 'pdb', 'psw', 'pdf'),
+            'mime-type-vector.svg' => array('ac5', 'ac6', 'aff', 'agd1', 'ai', 'ait', 'art', 'awg', 'b2f', 'cag', 'cbd', 'cdl', 'cdr', 'cdr3', 'cdr4', 'cdr5', 'cdr6', 'cdrw', 'cdx', 'cgm', 'cht', 'cil', 'cit', 'cnv', 'csl', 'ctn', 'cv5', 'cvg', 'cvi', 'cvl', 'cvs', 'cvx', 'dcs', 'ddoc', 'ddrw', 'ded', 'design', 'dmw', 'do', 'dpp', 'dpr', 'draw', 'drw', 'dsf', 'dsf', 'dsx', 'dvg', 'dxb', 'emb', 'evf', 'fcd', 'fh', 'fhd', 'fmv', 'fs', 'ft10', 'ft11', 'ft9', 'ft8', 'gem', 'gl2', 'graffle', 'gsd', 'gsd', 'hpg', 'hpgl', 'hpgl2', 'hpl', 'hplj', 'hpp', 'hppcl', 'idw', 'ima', 'macdraw', 'mgcb', 'mgs', 'mvg', 'nap', 'naplps', 'odg', 'p10', 'pat', 'pct', 'pd', 'pdw', 'pgs', 'pic', 'pif', 'pix', 'plo', 'plot', 'plt', 'ps', 'psid', 'pws', 'rdl', 's57', 'sdw', 'sif', 'sk2', 'slddwg', 'sp', 'spa', 'svf', 'svg', 'svgb', 'svgz', 'sxd', 'tdr', 'tlc', 'tng', 'vbr', 'vec', 'vect', 'veh', 'vml', 'vss', 'web', 'web', 'web', 'yal'),
+            'mime-type-archive.svg' => array('7z', '7zip', 'aar', 'ace', 'alz', 'arj', 'bz2', 'bza', 'bzip2', 'bzp', 'bzp2', 'cab', 'czip', 'gnutar', 'gz', 'gza', 'gzi', 'gzip', 'ha', 'lhz', 'lzma', 'pzip', 'rar', 'roo', 's7z', 'tar', 'tar-gz', 'tar-lzma', 'tar-z', 'taz', 'tbz', 'tbz2', 'tgz', 'tz', 'z', 'zip', 'zipx', 'zix', 'zoo'),
         );
 
         $f = fopen ($sFile, 'r');

+ 220 - 220
install/sql/system.sql

@@ -2524,7 +2524,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('m21', 'application/mp21', '', ''),
 ('mp21', 'application/mp21', '', ''),
 ('mp4s', 'application/mp4', '', ''),
-('doc', 'application/msword', 'mime-type-document.png', 'far file-word'),
+('doc', 'application/msword', 'mime-type-document.svg', 'far file-word'),
 ('dot', 'application/msword', '', ''),
 ('mxf', 'application/mxf', '', ''),
 ('bin', 'application/octet-stream', '', ''),
@@ -2550,12 +2550,12 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('onepkg', 'application/onenote', '', ''),
 ('oxps', 'application/oxps', '', ''),
 ('xer', 'application/patch-ops-error+xml', '', ''),
-('pdf', 'application/pdf', 'mime-type-document.png', 'far file-pdf'),
+('pdf', 'application/pdf', 'mime-type-document.svg', 'far file-pdf'),
 ('pgp', 'application/pgp-encrypted', '', 'far file-code'),
 ('asc', 'application/pgp-signature', '', 'far file-code'),
 ('sig', 'application/pgp-signature', '', 'far file-code'),
 ('prf', 'application/pics-rules', '', ''),
-('p10', 'application/pkcs10', 'mime-type-vector.png', ''),
+('p10', 'application/pkcs10', 'mime-type-vector.svg', ''),
 ('p7m', 'application/pkcs7-mime', '', ''),
 ('p7c', 'application/pkcs7-mime', '', ''),
 ('p7s', 'application/pkcs7-signature', '', ''),
@@ -2566,9 +2566,9 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('pkipath', 'application/pkix-pkipath', '', ''),
 ('pki', 'application/pkixcmp', '', ''),
 ('pls', 'application/pls+xml', '', ''),
-('ai', 'application/postscript', 'mime-type-vector.png', ''),
+('ai', 'application/postscript', 'mime-type-vector.svg', ''),
 ('eps', 'application/postscript', '', ''),
-('ps', 'application/postscript', 'mime-type-vector.png', ''),
+('ps', 'application/postscript', 'mime-type-vector.svg', ''),
 ('cww', 'application/prs.cww', '', ''),
 ('pskcxml', 'application/pskc+xml', '', ''),
 ('rdf', 'application/rdf+xml', '', 'far file-code'),
@@ -2582,13 +2582,13 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('roa', 'application/rpki-roa', '', ''),
 ('rsd', 'application/rsd+xml', '', ''),
 ('rss', 'application/rss+xml', '', 'far file-code'),
-('rtf', 'application/rtf', 'mime-type-document.png', ''),
+('rtf', 'application/rtf', 'mime-type-document.svg', ''),
 ('sbml', 'application/sbml+xml', '', ''),
 ('scq', 'application/scvp-cv-request', '', ''),
 ('scs', 'application/scvp-cv-response', '', ''),
 ('spq', 'application/scvp-vp-request', '', ''),
 ('spp', 'application/scvp-vp-response', '', ''),
-('sdp', 'application/sdp', 'mime-type-presentation.png', 'far file-powerpoint'),
+('sdp', 'application/sdp', 'mime-type-presentation.svg', 'far file-powerpoint'),
 ('setpay', 'application/set-payment-initiation', '', ''),
 ('setreg', 'application/set-registration-initiation', '', ''),
 ('shf', 'application/shf+xml', '', ''),
@@ -2682,7 +2682,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('dpg', 'application/vnd.dpgraph', '', ''),
 ('dfac', 'application/vnd.dreamfactory', '', ''),
 ('kpxx', 'application/vnd.ds-keypoint', '', ''),
-('ait', 'application/vnd.dvb.ait', 'mime-type-vector.png', ''),
+('ait', 'application/vnd.dvb.ait', 'mime-type-vector.svg', ''),
 ('svc', 'application/vnd.dvb.service', '', '');
 INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) VALUES
 ('geo', 'application/vnd.dynageo', '', ''),
@@ -2743,7 +2743,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('zmm', 'application/vnd.handheld-entertainment+xml', '', ''),
 ('hbci', 'application/vnd.hbci', '', ''),
 ('les', 'application/vnd.hhe.lesson-player', '', ''),
-('hpgl', 'application/vnd.hp-hpgl', 'mime-type-vector.png', ''),
+('hpgl', 'application/vnd.hp-hpgl', 'mime-type-vector.svg', ''),
 ('hpid', 'application/vnd.hp-hpid', '', ''),
 ('hps', 'application/vnd.hp-hps', '', ''),
 ('jlt', 'application/vnd.hp-jlyt', '', ''),
@@ -2825,13 +2825,13 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('mpn', 'application/vnd.mophun.application', '', ''),
 ('mpc', 'application/vnd.mophun.certificate', '', ''),
 ('xul', 'application/vnd.mozilla.xul+xml', '', ''),
-('cil', 'application/vnd.ms-artgalry', 'mime-type-vector.png', ''),
-('taxi', 'application/vnd.ms-cab-compressed', 'mime-type-archive.png', 'far file-archive'),
-('xls', 'application/vnd.ms-excel', 'mime-type-spreadsheet.png', 'far file-excel'),
+('cil', 'application/vnd.ms-artgalry', 'mime-type-vector.svg', ''),
+('taxi', 'application/vnd.ms-cab-compressed', 'mime-type-archive.svg', 'far file-archive'),
+('xls', 'application/vnd.ms-excel', 'mime-type-spreadsheet.svg', 'far file-excel'),
 ('xlm', 'application/vnd.ms-excel', '', ''),
 ('xla', 'application/vnd.ms-excel', '', ''),
 ('xlc', 'application/vnd.ms-excel', '', ''),
-('xlt', 'application/vnd.ms-excel', 'mime-type-spreadsheet.png', 'far file-excel'),
+('xlt', 'application/vnd.ms-excel', 'mime-type-spreadsheet.svg', 'far file-excel'),
 ('xlw', 'application/vnd.ms-excel', '', ''),
 ('xlam', 'application/vnd.ms-excel.addin.macroenabled.12', '', ''),
 ('xlsb', 'application/vnd.ms-excel.sheet.binary.macroenabled.12', '', ''),
@@ -2844,7 +2844,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('thmx', 'application/vnd.ms-officetheme', '', ''),
 ('cat', 'application/vnd.ms-pki.seccat', '', ''),
 ('stl', 'application/vnd.ms-pki.stl', '', ''),
-('ppt', 'application/vnd.ms-powerpoint', 'mime-type-presentation.png', 'far file-powerpoint'),
+('ppt', 'application/vnd.ms-powerpoint', 'mime-type-presentation.svg', 'far file-powerpoint'),
 ('pps', 'application/vnd.ms-powerpoint', '', ''),
 ('pot', 'application/vnd.ms-powerpoint', '', ''),
 ('ppam', 'application/vnd.ms-powerpoint.addin.macroenabled.12', '', ''),
@@ -2885,33 +2885,33 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('odf', 'application/vnd.oasis.opendocument.formula', '', ''),
 ('odft', 'application/vnd.oasis.opendocument.formula-template', '', '');
 INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) VALUES
-('odg', 'application/vnd.oasis.opendocument.graphics', 'mime-type-vector.png', ''),
+('odg', 'application/vnd.oasis.opendocument.graphics', 'mime-type-vector.svg', ''),
 ('otg', 'application/vnd.oasis.opendocument.graphics-template', '', ''),
 ('odi', 'application/vnd.oasis.opendocument.image', '', ''),
 ('oti', 'application/vnd.oasis.opendocument.image-template', '', ''),
-('odp', 'application/vnd.oasis.opendocument.presentation', 'mime-type-presentation.png', 'far file-powerpoint'),
+('odp', 'application/vnd.oasis.opendocument.presentation', 'mime-type-presentation.svg', 'far file-powerpoint'),
 ('otp', 'application/vnd.oasis.opendocument.presentation-template', '', ''),
-('ods', 'application/vnd.oasis.opendocument.spreadsheet', 'mime-type-spreadsheet.png', 'far file-excel'),
-('ots', 'application/vnd.oasis.opendocument.spreadsheet-template', 'mime-type-spreadsheet.png', 'far file-excel'),
-('odt', 'application/vnd.oasis.opendocument.text', 'mime-type-document.png', ''),
+('ods', 'application/vnd.oasis.opendocument.spreadsheet', 'mime-type-spreadsheet.svg', 'far file-excel'),
+('ots', 'application/vnd.oasis.opendocument.spreadsheet-template', 'mime-type-spreadsheet.svg', 'far file-excel'),
+('odt', 'application/vnd.oasis.opendocument.text', 'mime-type-document.svg', ''),
 ('odm', 'application/vnd.oasis.opendocument.text-master', '', ''),
-('ott', 'application/vnd.oasis.opendocument.text-template', 'mime-type-document.png', ''),
+('ott', 'application/vnd.oasis.opendocument.text-template', 'mime-type-document.svg', ''),
 ('oth', 'application/vnd.oasis.opendocument.text-web', '', ''),
 ('xo', 'application/vnd.olpc-sugar', '', ''),
 ('dd2', 'application/vnd.oma.dd2+xml', '', ''),
 ('oxt', 'application/vnd.openofficeorg.extension', '', ''),
-('pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'mime-type-presentation.png', 'far file-powerpoint'),
+('pptx', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'mime-type-presentation.svg', 'far file-powerpoint'),
 ('sldx', 'application/vnd.openxmlformats-officedocument.presentationml.slide', '', ''),
 ('ppsx', 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', '', ''),
 ('potx', 'application/vnd.openxmlformats-officedocument.presentationml.template', '', ''),
-('xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'mime-type-spreadsheet.png', 'far file-excel'),
+('xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'mime-type-spreadsheet.svg', 'far file-excel'),
 ('xltx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', '', ''),
-('docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'mime-type-document.png', 'far file-word'),
+('docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'mime-type-document.svg', 'far file-word'),
 ('dotx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', '', ''),
 ('mgp', 'application/vnd.osgeo.mapguide.package', '', ''),
 ('dp', 'application/vnd.osgi.dp', '', ''),
 ('esa', 'application/vnd.osgi.subsystem', '', ''),
-('pdb', 'application/vnd.palm', 'mime-type-document.png', ''),
+('pdb', 'application/vnd.palm', 'mime-type-document.svg', ''),
 ('pqa', 'application/vnd.palm', '', ''),
 ('oprc', 'application/vnd.palm', '', ''),
 ('paw', 'application/vnd.pawaafile', '', ''),
@@ -2956,25 +2956,25 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('sdkd', 'application/vnd.solent.sdkm+xml', '', ''),
 ('dxp', 'application/vnd.spotfire.dxp', '', ''),
 ('sfs', 'application/vnd.spotfire.sfs', '', ''),
-('sdc', 'application/vnd.stardivision.calc', 'mime-type-spreadsheet.png', 'far file-excel'),
+('sdc', 'application/vnd.stardivision.calc', 'mime-type-spreadsheet.svg', 'far file-excel'),
 ('sda', 'application/vnd.stardivision.draw', '', ''),
-('sdd', 'application/vnd.stardivision.impress', 'mime-type-presentation.png', 'far file-powerpoint'),
+('sdd', 'application/vnd.stardivision.impress', 'mime-type-presentation.svg', 'far file-powerpoint'),
 ('smf', 'application/vnd.stardivision.math', '', ''),
-('sdw', 'application/vnd.stardivision.writer', 'mime-type-document.png', ''),
+('sdw', 'application/vnd.stardivision.writer', 'mime-type-document.svg', ''),
 ('vor', 'application/vnd.stardivision.writer', '', ''),
 ('sgl', 'application/vnd.stardivision.writer-global', '', ''),
 ('smzip', 'application/vnd.stepmania.package', '', ''),
 ('sm', 'application/vnd.stepmania.stepchart', '', ''),
-('sxc', 'application/vnd.sun.xml.calc', 'mime-type-spreadsheet.png', 'far file-excel'),
-('stc', 'application/vnd.sun.xml.calc.template', 'mime-type-spreadsheet.png', 'far file-excel'),
-('sxd', 'application/vnd.sun.xml.draw', 'mime-type-vector.png', ''),
+('sxc', 'application/vnd.sun.xml.calc', 'mime-type-spreadsheet.svg', 'far file-excel'),
+('stc', 'application/vnd.sun.xml.calc.template', 'mime-type-spreadsheet.svg', 'far file-excel'),
+('sxd', 'application/vnd.sun.xml.draw', 'mime-type-vector.svg', ''),
 ('std', 'application/vnd.sun.xml.draw.template', '', ''),
-('sxi', 'application/vnd.sun.xml.impress', 'mime-type-presentation.png', 'far file-powerpoint'),
-('sti', 'application/vnd.sun.xml.impress.template', 'mime-type-presentation.png', 'far file-powerpoint'),
+('sxi', 'application/vnd.sun.xml.impress', 'mime-type-presentation.svg', 'far file-powerpoint'),
+('sti', 'application/vnd.sun.xml.impress.template', 'mime-type-presentation.svg', 'far file-powerpoint'),
 ('sxm', 'application/vnd.sun.xml.math', '', ''),
-('sxw', 'application/vnd.sun.xml.writer', 'mime-type-document.png', ''),
+('sxw', 'application/vnd.sun.xml.writer', 'mime-type-document.svg', ''),
 ('sxg', 'application/vnd.sun.xml.writer.global', '', ''),
-('stw', 'application/vnd.sun.xml.writer.template', 'mime-type-document.png', ''),
+('stw', 'application/vnd.sun.xml.writer.template', 'mime-type-document.svg', ''),
 ('sus', 'application/vnd.sus-calendar', '', ''),
 ('susp', 'application/vnd.sus-calendar', '', ''),
 ('svd', 'application/vnd.svd', '', ''),
@@ -3000,7 +3000,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('vcx', 'application/vnd.vcx', '', ''),
 ('vsd', 'application/vnd.visio', '', ''),
 ('vst', 'application/vnd.visio', '', ''),
-('vss', 'application/vnd.visio', 'mime-type-vector.png', ''),
+('vss', 'application/vnd.visio', 'mime-type-vector.svg', ''),
 ('vsw', 'application/vnd.visio', '', ''),
 ('vis', 'application/vnd.visionary', '', ''),
 ('vsf', 'application/vnd.vsf', '', ''),
@@ -3030,9 +3030,9 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('hlp', 'application/winhlp', '', ''),
 ('wsdl', 'application/wsdl+xml', '', ''),
 ('wspolicy', 'application/wspolicy+xml', '', ''),
-('7z', 'application/x-7z-compressed', 'mime-type-archive.png', 'far file-archive'),
+('7z', 'application/x-7z-compressed', 'mime-type-archive.svg', 'far file-archive'),
 ('abw', 'application/x-abiword', '', ''),
-('ace', 'application/x-ace-compressed', 'mime-type-archive.png', 'far file-archive'),
+('ace', 'application/x-ace-compressed', 'mime-type-archive.svg', 'far file-archive'),
 ('dmg', 'application/x-apple-diskimage', '', ''),
 ('aab', 'application/x-authorware-bin', '', ''),
 ('x32', 'application/x-authorware-bin', '', ''),
@@ -3045,7 +3045,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('blb', 'application/x-blorb', '', ''),
 ('blorb', 'application/x-blorb', '', ''),
 ('bz', 'application/x-bzip', '', ''),
-('bz2', 'application/x-bzip2', 'mime-type-archive.png', 'far file-archive'),
+('bz2', 'application/x-bzip2', 'mime-type-archive.svg', 'far file-archive'),
 ('boz', 'application/x-bzip2', '', ''),
 ('cbr', 'application/x-cbr', '', ''),
 ('cba', 'application/x-cbr', '', ''),
@@ -3142,7 +3142,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('p7b', 'application/x-pkcs7-certificates', '', ''),
 ('spc', 'application/x-pkcs7-certificates', '', ''),
 ('p7r', 'application/x-pkcs7-certreqresp', '', ''),
-('rar', 'application/x-rar-compressed', 'mime-type-archive.png', 'far file-archive'),
+('rar', 'application/x-rar-compressed', 'mime-type-archive.svg', 'far file-archive'),
 ('ris', 'application/x-research-info-systems', '', ''),
 ('sh', 'application/x-sh', '', 'far file-code'),
 ('shar', 'application/x-shar', '', ''),
@@ -3156,7 +3156,7 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('sv4crc', 'application/x-sv4crc', '', ''),
 ('t3', 'application/x-t3vm-image', '', ''),
 ('gam', 'application/x-tads', '', ''),
-('tar', 'application/x-tar', 'mime-type-archive.png', 'far file-archive'),
+('tar', 'application/x-tar', 'mime-type-archive.svg', 'far file-archive'),
 ('tcl', 'application/x-tcl', '', ''),
 ('tex', 'application/x-tex', '', ''),
 ('tfm', 'application/x-tex-tfm', '', ''),
@@ -3197,129 +3197,129 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('xvm', 'application/xv+xml', '', ''),
 ('yang', 'application/yang', '', ''),
 ('yin', 'application/yin+xml', '', ''),
-('zip', 'application/zip', 'mime-type-archive.png', 'far file-archive'),
-('adp', 'audio/adpcm', 'mime-type-audio.png', 'far file-audio'),
-('au', 'audio/basic', 'mime-type-audio.png', 'far file-audio'),
-('snd', 'audio/basic', 'mime-type-audio.png', 'far file-audio'),
-('mid', 'audio/midi', 'mime-type-audio.png', 'far file-audio'),
-('midi', 'audio/midi', 'mime-type-audio.png', 'far file-audio'),
-('kar', 'audio/midi', 'mime-type-audio.png', 'far file-audio'),
-('rmi', 'audio/midi', 'mime-type-audio.png', 'far file-audio'),
-('m4a', 'audio/mp4', 'mime-type-audio.png', 'far file-audio'),
-('mp4a', 'audio/mp4', 'mime-type-audio.png', 'far file-audio'),
-('m4p', 'audio/mp4a-latm', 'mime-type-audio.png', 'far file-audio'),
-('mpga', 'audio/mpeg', 'mime-type-audio.png', 'far file-audio'),
-('mp2', 'audio/mpeg', 'mime-type-audio.png', 'far file-audio'),
-('mp2a', 'audio/mpeg', 'mime-type-audio.png', 'far file-audio'),
-('mp3', 'audio/mpeg', 'mime-type-audio.png', 'far file-audio'),
-('m2a', 'audio/mpeg', 'mime-type-audio.png', 'far file-audio'),
-('m3a', 'audio/mpeg', 'mime-type-audio.png', 'far file-audio'),
-('oga', 'audio/ogg', 'mime-type-audio.png', 'far file-audio'),
-('ogg', 'audio/ogg', 'mime-type-audio.png', 'far file-audio'),
-('spx', 'audio/ogg', 'mime-type-audio.png', 'far file-audio'),
-('s3m', 'audio/s3m', 'mime-type-audio.png', 'far file-audio'),
-('sil', 'audio/silk', 'mime-type-audio.png', 'far file-audio'),
-('uva', 'audio/vnd.dece.audio', 'mime-type-audio.png', 'far file-audio'),
-('uvva', 'audio/vnd.dece.audio', 'mime-type-audio.png', 'far file-audio'),
-('eol', 'audio/vnd.digital-winds', 'mime-type-audio.png', 'far file-audio'),
-('dra', 'audio/vnd.dra', 'mime-type-audio.png', 'far file-audio'),
-('dts', 'audio/vnd.dts', 'mime-type-audio.png', 'far file-audio'),
-('dtshd', 'audio/vnd.dts.hd', 'mime-type-audio.png', 'far file-audio'),
-('lvp', 'audio/vnd.lucent.voice', 'mime-type-audio.png', 'far file-audio'),
-('pya', 'audio/vnd.ms-playready.media.pya', 'mime-type-audio.png', 'far file-audio'),
-('ecelp4800', 'audio/vnd.nuera.ecelp4800', 'mime-type-audio.png', 'far file-audio'),
-('ecelp7470', 'audio/vnd.nuera.ecelp7470', 'mime-type-audio.png', 'far file-audio'),
-('ecelp9600', 'audio/vnd.nuera.ecelp9600', 'mime-type-audio.png', 'far file-audio'),
-('rip', 'audio/vnd.rip', 'mime-type-audio.png', 'far file-audio'),
-('weba', 'audio/webm', 'mime-type-audio.png', 'far file-audio'),
-('aac', 'audio/x-aac', 'mime-type-audio.png', 'far file-audio'),
-('aif', 'audio/x-aiff', 'mime-type-audio.png', 'far file-audio'),
-('aiff', 'audio/x-aiff', 'mime-type-audio.png', 'far file-audio'),
-('aifc', 'audio/x-aiff', 'mime-type-audio.png', 'far file-audio'),
-('caf', 'audio/x-caf', 'mime-type-audio.png', 'far file-audio'),
-('flac', 'audio/x-flac', 'mime-type-audio.png', 'far file-audio'),
-('mka', 'audio/x-matroska', 'mime-type-audio.png', 'far file-audio'),
-('m3u', 'audio/x-mpegurl', 'mime-type-audio.png', 'far file-audio'),
-('wax', 'audio/x-ms-wax', 'mime-type-audio.png', 'far file-audio'),
-('wma', 'audio/x-ms-wma', 'mime-type-audio.png', 'far file-audio'),
-('ram', 'audio/x-pn-realaudio', 'mime-type-audio.png', 'far file-audio'),
-('ra', 'audio/x-pn-realaudio', 'mime-type-audio.png', 'far file-audio'),
-('rmp', 'audio/x-pn-realaudio-plugin', 'mime-type-audio.png', 'far file-audio'),
-('wav', 'audio/x-wav', 'mime-type-audio.png', 'far file-audio'),
-('xm', 'audio/xm', 'mime-type-audio.png', 'far file-audio'),
-('cdx', 'chemical/x-cdx', 'mime-type-vector.png', ''),
+('zip', 'application/zip', 'mime-type-archive.svg', 'far file-archive'),
+('adp', 'audio/adpcm', 'mime-type-audio.svg', 'far file-audio'),
+('au', 'audio/basic', 'mime-type-audio.svg', 'far file-audio'),
+('snd', 'audio/basic', 'mime-type-audio.svg', 'far file-audio'),
+('mid', 'audio/midi', 'mime-type-audio.svg', 'far file-audio'),
+('midi', 'audio/midi', 'mime-type-audio.svg', 'far file-audio'),
+('kar', 'audio/midi', 'mime-type-audio.svg', 'far file-audio'),
+('rmi', 'audio/midi', 'mime-type-audio.svg', 'far file-audio'),
+('m4a', 'audio/mp4', 'mime-type-audio.svg', 'far file-audio'),
+('mp4a', 'audio/mp4', 'mime-type-audio.svg', 'far file-audio'),
+('m4p', 'audio/mp4a-latm', 'mime-type-audio.svg', 'far file-audio'),
+('mpga', 'audio/mpeg', 'mime-type-audio.svg', 'far file-audio'),
+('mp2', 'audio/mpeg', 'mime-type-audio.svg', 'far file-audio'),
+('mp2a', 'audio/mpeg', 'mime-type-audio.svg', 'far file-audio'),
+('mp3', 'audio/mpeg', 'mime-type-audio.svg', 'far file-audio'),
+('m2a', 'audio/mpeg', 'mime-type-audio.svg', 'far file-audio'),
+('m3a', 'audio/mpeg', 'mime-type-audio.svg', 'far file-audio'),
+('oga', 'audio/ogg', 'mime-type-audio.svg', 'far file-audio'),
+('ogg', 'audio/ogg', 'mime-type-audio.svg', 'far file-audio'),
+('spx', 'audio/ogg', 'mime-type-audio.svg', 'far file-audio'),
+('s3m', 'audio/s3m', 'mime-type-audio.svg', 'far file-audio'),
+('sil', 'audio/silk', 'mime-type-audio.svg', 'far file-audio'),
+('uva', 'audio/vnd.dece.audio', 'mime-type-audio.svg', 'far file-audio'),
+('uvva', 'audio/vnd.dece.audio', 'mime-type-audio.svg', 'far file-audio'),
+('eol', 'audio/vnd.digital-winds', 'mime-type-audio.svg', 'far file-audio'),
+('dra', 'audio/vnd.dra', 'mime-type-audio.svg', 'far file-audio'),
+('dts', 'audio/vnd.dts', 'mime-type-audio.svg', 'far file-audio'),
+('dtshd', 'audio/vnd.dts.hd', 'mime-type-audio.svg', 'far file-audio'),
+('lvp', 'audio/vnd.lucent.voice', 'mime-type-audio.svg', 'far file-audio'),
+('pya', 'audio/vnd.ms-playready.media.pya', 'mime-type-audio.svg', 'far file-audio'),
+('ecelp4800', 'audio/vnd.nuera.ecelp4800', 'mime-type-audio.svg', 'far file-audio'),
+('ecelp7470', 'audio/vnd.nuera.ecelp7470', 'mime-type-audio.svg', 'far file-audio'),
+('ecelp9600', 'audio/vnd.nuera.ecelp9600', 'mime-type-audio.svg', 'far file-audio'),
+('rip', 'audio/vnd.rip', 'mime-type-audio.svg', 'far file-audio'),
+('weba', 'audio/webm', 'mime-type-audio.svg', 'far file-audio'),
+('aac', 'audio/x-aac', 'mime-type-audio.svg', 'far file-audio'),
+('aif', 'audio/x-aiff', 'mime-type-audio.svg', 'far file-audio'),
+('aiff', 'audio/x-aiff', 'mime-type-audio.svg', 'far file-audio'),
+('aifc', 'audio/x-aiff', 'mime-type-audio.svg', 'far file-audio'),
+('caf', 'audio/x-caf', 'mime-type-audio.svg', 'far file-audio'),
+('flac', 'audio/x-flac', 'mime-type-audio.svg', 'far file-audio'),
+('mka', 'audio/x-matroska', 'mime-type-audio.svg', 'far file-audio'),
+('m3u', 'audio/x-mpegurl', 'mime-type-audio.svg', 'far file-audio'),
+('wax', 'audio/x-ms-wax', 'mime-type-audio.svg', 'far file-audio'),
+('wma', 'audio/x-ms-wma', 'mime-type-audio.svg', 'far file-audio'),
+('ram', 'audio/x-pn-realaudio', 'mime-type-audio.svg', 'far file-audio'),
+('ra', 'audio/x-pn-realaudio', 'mime-type-audio.svg', 'far file-audio'),
+('rmp', 'audio/x-pn-realaudio-plugin', 'mime-type-audio.svg', 'far file-audio'),
+('wav', 'audio/x-wav', 'mime-type-audio.svg', 'far file-audio'),
+('xm', 'audio/xm', 'mime-type-audio.svg', 'far file-audio'),
+('cdx', 'chemical/x-cdx', 'mime-type-vector.svg', ''),
 ('cif', 'chemical/x-cif', '', ''),
 ('cmdf', 'chemical/x-cmdf', '', ''),
 ('cml', 'chemical/x-cml', '', ''),
 ('csml', 'chemical/x-csml', '', ''),
 ('xyz', 'chemical/x-xyz', '', ''),
-('bmp', 'image/bmp', 'mime-type-image.png', 'far file-image'),
-('cgm', 'image/cgm', 'mime-type-image.png', 'far file-image'),
-('g3', 'image/g3fax', 'mime-type-image.png', 'far file-image'),
-('gif', 'image/gif', 'mime-type-image.png', 'far file-image'),
-('ief', 'image/ief', 'mime-type-image.png', 'far file-image'),
-('jp2', 'image/jp2', 'mime-type-image.png', 'far file-image'),
-('jpeg', 'image/jpeg', 'mime-type-image.png', 'far file-image'),
-('jpg', 'image/jpeg', 'mime-type-image.png', 'far file-image'),
-('jpe', 'image/jpeg', 'mime-type-image.png', 'far file-image'),
-('ktx', 'image/ktx', 'mime-type-image.png', 'far file-image'),
-('pict', 'image/pict', 'mime-type-image.png', 'far file-image'),
-('pic', 'image/pict', 'mime-type-image.png', 'far file-image'),
-('pct', 'image/pict', 'mime-type-image.png', 'far file-image'),
-('png', 'image/png', 'mime-type-png.png', 'far file-image'),
-('btif', 'image/prs.btif', 'mime-type-image.png', 'far file-image'),
-('sgi', 'image/sgi', 'mime-type-image.png', 'far file-image');
+('bmp', 'image/bmp', 'mime-type-image.svg', 'far file-image'),
+('cgm', 'image/cgm', 'mime-type-image.svg', 'far file-image'),
+('g3', 'image/g3fax', 'mime-type-image.svg', 'far file-image'),
+('gif', 'image/gif', 'mime-type-image.svg', 'far file-image'),
+('ief', 'image/ief', 'mime-type-image.svg', 'far file-image'),
+('jp2', 'image/jp2', 'mime-type-image.svg', 'far file-image'),
+('jpeg', 'image/jpeg', 'mime-type-image.svg', 'far file-image'),
+('jpg', 'image/jpeg', 'mime-type-image.svg', 'far file-image'),
+('jpe', 'image/jpeg', 'mime-type-image.svg', 'far file-image'),
+('ktx', 'image/ktx', 'mime-type-image.svg', 'far file-image'),
+('pict', 'image/pict', 'mime-type-image.svg', 'far file-image'),
+('pic', 'image/pict', 'mime-type-image.svg', 'far file-image'),
+('pct', 'image/pict', 'mime-type-image.svg', 'far file-image'),
+('png', 'image/png', 'mime-type-png.svg', 'far file-image'),
+('btif', 'image/prs.btif', 'mime-type-image.svg', 'far file-image'),
+('sgi', 'image/sgi', 'mime-type-image.svg', 'far file-image');
 INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) VALUES
-('svg', 'image/svg+xml', 'mime-type-image.png', 'far file-image'),
-('svgz', 'image/svg+xml', 'mime-type-image.png', 'far file-image'),
-('tiff', 'image/tiff', 'mime-type-image.png', 'far file-image'),
-('tif', 'image/tiff', 'mime-type-image.png', 'far file-image'),
-('psd', 'image/vnd.adobe.photoshop', 'mime-type-psd.png', 'far file-image'),
-('uvi', 'image/vnd.dece.graphic', 'mime-type-image.png', 'far file-image'),
-('uvvi', 'image/vnd.dece.graphic', 'mime-type-image.png', 'far file-image'),
-('uvg', 'image/vnd.dece.graphic', 'mime-type-image.png', 'far file-image'),
-('uvvg', 'image/vnd.dece.graphic', 'mime-type-image.png', 'far file-image'),
-('sub', 'image/vnd.dvb.subtitle', 'mime-type-image.png', 'far file-image'),
-('djvu', 'image/vnd.djvu', 'mime-type-image.png', 'far file-image'),
-('djv', 'image/vnd.djvu', 'mime-type-image.png', 'far file-image'),
-('dwg', 'image/vnd.dwg', 'mime-type-image.png', 'far file-image'),
-('dxf', 'image/vnd.dxf', 'mime-type-image.png', 'far file-image'),
-('fbs', 'image/vnd.fastbidsheet', 'mime-type-image.png', 'far file-image'),
-('fpx', 'image/vnd.fpx', 'mime-type-image.png', 'far file-image'),
-('fst', 'image/vnd.fst', 'mime-type-image.png', 'far file-image'),
-('mmr', 'image/vnd.fujixerox.edmics-mmr', 'mime-type-image.png', 'far file-image'),
-('rlc', 'image/vnd.fujixerox.edmics-rlc', 'mime-type-image.png', 'far file-image'),
-('mdi', 'image/vnd.ms-modi', 'mime-type-image.png', 'far file-image'),
-('wdp', 'image/vnd.ms-photo', 'mime-type-image.png', 'far file-image'),
-('npx', 'image/vnd.net-fpx', 'mime-type-image.png', 'far file-image'),
-('wbmp', 'image/vnd.wap.wbmp', 'mime-type-image.png', 'far file-image'),
-('xif', 'image/vnd.xiff', 'mime-type-image.png', 'far file-image'),
-('webp', 'image/webp', 'mime-type-image.png', 'far file-image'),
-('3ds', 'image/x-3ds', 'mime-type-image.png', 'far file-image'),
-('ras', 'image/x-cmu-raster', 'mime-type-image.png', 'far file-image'),
-('cmx', 'image/x-cmx', 'mime-type-image.png', 'far file-image'),
-('fh', 'image/x-freehand', 'mime-type-image.png', 'far file-image'),
-('fhc', 'image/x-freehand', 'mime-type-image.png', 'far file-image'),
-('fh4', 'image/x-freehand', 'mime-type-image.png', 'far file-image'),
-('fh5', 'image/x-freehand', 'mime-type-image.png', 'far file-image'),
-('fh7', 'image/x-freehand', 'mime-type-image.png', 'far file-image'),
-('ico', 'image/x-icon', 'mime-type-image.png', 'far file-image'),
-('pntg', 'image/x-macpaint', 'mime-type-image.png', 'far file-image'),
-('pnt', 'image/x-macpaint', 'mime-type-image.png', 'far file-image'),
-('mac', 'image/x-macpaint', 'mime-type-image.png', 'far file-image'),
-('sid', 'image/x-mrsid-image', 'mime-type-image.png', 'far file-image'),
-('pcx', 'image/x-pcx', 'mime-type-image.png', 'far file-image'),
-('pnm', 'image/x-portable-anymap', 'mime-type-image.png', 'far file-image'),
-('pbm', 'image/x-portable-bitmap', 'mime-type-image.png', 'far file-image'),
-('pgm', 'image/x-portable-graymap', 'mime-type-image.png', 'far file-image'),
-('ppm', 'image/x-portable-pixmap', 'mime-type-image.png', 'far file-image'),
-('qtif', 'image/x-quicktime', 'mime-type-image.png', 'far file-image'),
-('qti', 'image/x-quicktime', 'mime-type-image.png', 'far file-image'),
-('rgb', 'image/x-rgb', 'mime-type-image.png', 'far file-image'),
-('tga', 'image/x-tga', 'mime-type-image.png', 'far file-image'),
-('xbm', 'image/x-xbitmap', 'mime-type-image.png', 'far file-image'),
-('xpm', 'image/x-xpixmap', 'mime-type-image.png', 'far file-image'),
-('xwd', 'image/x-xwindowdump', 'mime-type-image.png', 'far file-image'),
+('svg', 'image/svg+xml', 'mime-type-image.svg', 'far file-image'),
+('svgz', 'image/svg+xml', 'mime-type-image.svg', 'far file-image'),
+('tiff', 'image/tiff', 'mime-type-image.svg', 'far file-image'),
+('tif', 'image/tiff', 'mime-type-image.svg', 'far file-image'),
+('psd', 'image/vnd.adobe.photoshop', 'mime-type-psd.svg', 'far file-image'),
+('uvi', 'image/vnd.dece.graphic', 'mime-type-image.svg', 'far file-image'),
+('uvvi', 'image/vnd.dece.graphic', 'mime-type-image.svg', 'far file-image'),
+('uvg', 'image/vnd.dece.graphic', 'mime-type-image.svg', 'far file-image'),
+('uvvg', 'image/vnd.dece.graphic', 'mime-type-image.svg', 'far file-image'),
+('sub', 'image/vnd.dvb.subtitle', 'mime-type-image.svg', 'far file-image'),
+('djvu', 'image/vnd.djvu', 'mime-type-image.svg', 'far file-image'),
+('djv', 'image/vnd.djvu', 'mime-type-image.svg', 'far file-image'),
+('dwg', 'image/vnd.dwg', 'mime-type-image.svg', 'far file-image'),
+('dxf', 'image/vnd.dxf', 'mime-type-image.svg', 'far file-image'),
+('fbs', 'image/vnd.fastbidsheet', 'mime-type-image.svg', 'far file-image'),
+('fpx', 'image/vnd.fpx', 'mime-type-image.svg', 'far file-image'),
+('fst', 'image/vnd.fst', 'mime-type-image.svg', 'far file-image'),
+('mmr', 'image/vnd.fujixerox.edmics-mmr', 'mime-type-image.svg', 'far file-image'),
+('rlc', 'image/vnd.fujixerox.edmics-rlc', 'mime-type-image.svg', 'far file-image'),
+('mdi', 'image/vnd.ms-modi', 'mime-type-image.svg', 'far file-image'),
+('wdp', 'image/vnd.ms-photo', 'mime-type-image.svg', 'far file-image'),
+('npx', 'image/vnd.net-fpx', 'mime-type-image.svg', 'far file-image'),
+('wbmp', 'image/vnd.wap.wbmp', 'mime-type-image.svg', 'far file-image'),
+('xif', 'image/vnd.xiff', 'mime-type-image.svg', 'far file-image'),
+('webp', 'image/webp', 'mime-type-image.svg', 'far file-image'),
+('3ds', 'image/x-3ds', 'mime-type-image.svg', 'far file-image'),
+('ras', 'image/x-cmu-raster', 'mime-type-image.svg', 'far file-image'),
+('cmx', 'image/x-cmx', 'mime-type-image.svg', 'far file-image'),
+('fh', 'image/x-freehand', 'mime-type-image.svg', 'far file-image'),
+('fhc', 'image/x-freehand', 'mime-type-image.svg', 'far file-image'),
+('fh4', 'image/x-freehand', 'mime-type-image.svg', 'far file-image'),
+('fh5', 'image/x-freehand', 'mime-type-image.svg', 'far file-image'),
+('fh7', 'image/x-freehand', 'mime-type-image.svg', 'far file-image'),
+('ico', 'image/x-icon', 'mime-type-image.svg', 'far file-image'),
+('pntg', 'image/x-macpaint', 'mime-type-image.svg', 'far file-image'),
+('pnt', 'image/x-macpaint', 'mime-type-image.svg', 'far file-image'),
+('mac', 'image/x-macpaint', 'mime-type-image.svg', 'far file-image'),
+('sid', 'image/x-mrsid-image', 'mime-type-image.svg', 'far file-image'),
+('pcx', 'image/x-pcx', 'mime-type-image.svg', 'far file-image'),
+('pnm', 'image/x-portable-anymap', 'mime-type-image.svg', 'far file-image'),
+('pbm', 'image/x-portable-bitmap', 'mime-type-image.svg', 'far file-image'),
+('pgm', 'image/x-portable-graymap', 'mime-type-image.svg', 'far file-image'),
+('ppm', 'image/x-portable-pixmap', 'mime-type-image.svg', 'far file-image'),
+('qtif', 'image/x-quicktime', 'mime-type-image.svg', 'far file-image'),
+('qti', 'image/x-quicktime', 'mime-type-image.svg', 'far file-image'),
+('rgb', 'image/x-rgb', 'mime-type-image.svg', 'far file-image'),
+('tga', 'image/x-tga', 'mime-type-image.svg', 'far file-image'),
+('xbm', 'image/x-xbitmap', 'mime-type-image.svg', 'far file-image'),
+('xpm', 'image/x-xpixmap', 'mime-type-image.svg', 'far file-image'),
+('xwd', 'image/x-xwindowdump', 'mime-type-image.svg', 'far file-image'),
 ('eml', 'message/rfc822', '', ''),
 ('mime', 'message/rfc822', '', ''),
 ('igs', 'model/iges', '', ''),
@@ -3346,11 +3346,11 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('ics', 'text/calendar', '', 'far file-alt'),
 ('ifb', 'text/calendar', '', 'far file-alt'),
 ('css', 'text/css', '', 'far file-code'),
-('csv', 'text/csv', 'mime-type-spreadsheet.png', 'far file-excel'),
+('csv', 'text/csv', 'mime-type-spreadsheet.svg', 'far file-excel'),
 ('html', 'text/html', '', 'far file-code'),
 ('htm', 'text/html', '', 'far file-code'),
 ('n3', 'text/n3', '', 'far file-alt'),
-('txt', 'text/plain', 'mime-type-document.png', 'far file-alt'),
+('txt', 'text/plain', 'mime-type-document.svg', 'far file-alt'),
 ('text', 'text/plain', '', 'far file-alt'),
 ('conf', 'text/plain', '', 'far file-alt'),
 ('def', 'text/plain', '', 'far file-alt'),
@@ -3435,68 +3435,68 @@ INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) V
 ('uu', 'text/x-uuencode', '', 'far file-alt'),
 ('vcs', 'text/x-vcalendar', '', 'far file-alt'),
 ('vcf', 'text/x-vcard', '', 'far file-alt'),
-('3gp', 'video/3gpp', 'mime-type-video.png', 'far file-video'),
-('3g2', 'video/3gpp2', 'mime-type-video.png', 'far file-video'),
-('h261', 'video/h261', 'mime-type-video.png', 'far file-video'),
-('h263', 'video/h263', 'mime-type-video.png', 'far file-video'),
-('h264', 'video/h264', 'mime-type-video.png', 'far file-video'),
-('jpgv', 'video/jpeg', 'mime-type-video.png', 'far file-video'),
-('jpm', 'video/jpm', 'mime-type-video.png', 'far file-video'),
-('jpgm', 'video/jpm', 'mime-type-video.png', 'far file-video'),
-('mj2', 'video/mj2', 'mime-type-video.png', 'far file-video'),
-('mjp2', 'video/mj2', 'mime-type-video.png', 'far file-video'),
-('ts', 'video/mp2t', 'mime-type-video.png', 'far file-video'),
-('mp4', 'video/mp4', 'mime-type-video.png', 'far file-video'),
-('mp4v', 'video/mp4', 'mime-type-video.png', 'far file-video'),
-('mpg4', 'video/mp4', 'mime-type-video.png', 'far file-video'),
-('m4v', 'video/mp4', 'mime-type-video.png', 'far file-video'),
-('mpeg', 'video/mpeg', 'mime-type-video.png', 'far file-video'),
-('mpg', 'video/mpeg', 'mime-type-video.png', 'far file-video'),
-('mpe', 'video/mpeg', 'mime-type-video.png', 'far file-video'),
-('m1v', 'video/mpeg', 'mime-type-video.png', 'far file-video'),
-('m2v', 'video/mpeg', 'mime-type-video.png', 'far file-video'),
-('ogv', 'video/ogg', 'mime-type-video.png', 'far file-video'),
-('qt', 'video/quicktime', 'mime-type-video.png', 'far file-video'),
-('mov', 'video/quicktime', 'mime-type-video.png', 'far file-video'),
-('uvh', 'video/vnd.dece.hd', 'mime-type-video.png', 'far file-video'),
-('uvvh', 'video/vnd.dece.hd', 'mime-type-video.png', 'far file-video'),
-('uvm', 'video/vnd.dece.mobile', 'mime-type-video.png', 'far file-video'),
-('uvvm', 'video/vnd.dece.mobile', 'mime-type-video.png', 'far file-video'),
-('uvp', 'video/vnd.dece.pd', 'mime-type-video.png', 'far file-video'),
-('uvvp', 'video/vnd.dece.pd', 'mime-type-video.png', 'far file-video');
+('3gp', 'video/3gpp', 'mime-type-video.svg', 'far file-video'),
+('3g2', 'video/3gpp2', 'mime-type-video.svg', 'far file-video'),
+('h261', 'video/h261', 'mime-type-video.svg', 'far file-video'),
+('h263', 'video/h263', 'mime-type-video.svg', 'far file-video'),
+('h264', 'video/h264', 'mime-type-video.svg', 'far file-video'),
+('jpgv', 'video/jpeg', 'mime-type-video.svg', 'far file-video'),
+('jpm', 'video/jpm', 'mime-type-video.svg', 'far file-video'),
+('jpgm', 'video/jpm', 'mime-type-video.svg', 'far file-video'),
+('mj2', 'video/mj2', 'mime-type-video.svg', 'far file-video'),
+('mjp2', 'video/mj2', 'mime-type-video.svg', 'far file-video'),
+('ts', 'video/mp2t', 'mime-type-video.svg', 'far file-video'),
+('mp4', 'video/mp4', 'mime-type-video.svg', 'far file-video'),
+('mp4v', 'video/mp4', 'mime-type-video.svg', 'far file-video'),
+('mpg4', 'video/mp4', 'mime-type-video.svg', 'far file-video'),
+('m4v', 'video/mp4', 'mime-type-video.svg', 'far file-video'),
+('mpeg', 'video/mpeg', 'mime-type-video.svg', 'far file-video'),
+('mpg', 'video/mpeg', 'mime-type-video.svg', 'far file-video'),
+('mpe', 'video/mpeg', 'mime-type-video.svg', 'far file-video'),
+('m1v', 'video/mpeg', 'mime-type-video.svg', 'far file-video'),
+('m2v', 'video/mpeg', 'mime-type-video.svg', 'far file-video'),
+('ogv', 'video/ogg', 'mime-type-video.svg', 'far file-video'),
+('qt', 'video/quicktime', 'mime-type-video.svg', 'far file-video'),
+('mov', 'video/quicktime', 'mime-type-video.svg', 'far file-video'),
+('uvh', 'video/vnd.dece.hd', 'mime-type-video.svg', 'far file-video'),
+('uvvh', 'video/vnd.dece.hd', 'mime-type-video.svg', 'far file-video'),
+('uvm', 'video/vnd.dece.mobile', 'mime-type-video.svg', 'far file-video'),
+('uvvm', 'video/vnd.dece.mobile', 'mime-type-video.svg', 'far file-video'),
+('uvp', 'video/vnd.dece.pd', 'mime-type-video.svg', 'far file-video'),
+('uvvp', 'video/vnd.dece.pd', 'mime-type-video.svg', 'far file-video');
 INSERT INTO `sys_storage_mime_types` (`ext`, `mime_type`, `icon`, `icon_font`) VALUES
-('uvs', 'video/vnd.dece.sd', 'mime-type-video.png', 'far file-video'),
-('uvvs', 'video/vnd.dece.sd', 'mime-type-video.png', 'far file-video'),
-('uvv', 'video/vnd.dece.video', 'mime-type-video.png', 'far file-video'),
-('uvvv', 'video/vnd.dece.video', 'mime-type-video.png', 'far file-video'),
-('dvb', 'video/vnd.dvb.file', 'mime-type-video.png', 'far file-video'),
-('fvt', 'video/vnd.fvt', 'mime-type-video.png', 'far file-video'),
-('mxu', 'video/vnd.mpegurl', 'mime-type-video.png', 'far file-video'),
-('m4u', 'video/vnd.mpegurl', 'mime-type-video.png', 'far file-video'),
-('pyv', 'video/vnd.ms-playready.media.pyv', 'mime-type-video.png', 'far file-video'),
-('uvu', 'video/vnd.uvvu.mp4', 'mime-type-video.png', 'far file-video'),
-('uvvu', 'video/vnd.uvvu.mp4', 'mime-type-video.png', 'far file-video'),
-('viv', 'video/vnd.vivo', 'mime-type-video.png', 'far file-video'),
-('dv', 'video/x-dv', 'mime-type-video.png', 'far file-video'),
-('dif', 'video/x-dv', 'mime-type-video.png', 'far file-excel'),
-('webm', 'video/webm', 'mime-type-video.png', 'far file-video'),
-('f4v', 'video/x-f4v', 'mime-type-video.png', 'far file-video'),
-('fli', 'video/x-fli', 'mime-type-video.png', 'far file-video'),
-('flv', 'video/x-flv', 'mime-type-video.png', 'far file-video'),
-('mkv', 'video/x-matroska', 'mime-type-video.png', 'far file-video'),
-('mk3d', 'video/x-matroska', 'mime-type-video.png', 'far file-video'),
-('mks', 'video/x-matroska', 'mime-type-video.png', 'far file-video'),
-('mng', 'video/x-mng', 'mime-type-video.png', 'far file-video'),
-('asf', 'video/x-ms-asf', 'mime-type-video.png', 'far file-video'),
-('asx', 'video/x-ms-asf', 'mime-type-video.png', 'far file-video'),
-('vob', 'video/x-ms-vob', 'mime-type-video.png', 'far file-video'),
-('wm', 'video/x-ms-wm', 'mime-type-video.png', 'far file-video'),
-('wmv', 'video/x-ms-wmv', 'mime-type-video.png', 'far file-video'),
-('wmx', 'video/x-ms-wmx', 'mime-type-video.png', 'far file-video'),
-('wvx', 'video/x-ms-wvx', 'mime-type-video.png', 'far file-video'),
-('avi', 'video/x-msvideo', 'mime-type-video.png', 'far file-video'),
-('movie', 'video/x-sgi-movie', 'mime-type-video.png', 'far file-video'),
-('smv', 'video/x-smv', 'mime-type-video.png', 'far file-video'),
+('uvs', 'video/vnd.dece.sd', 'mime-type-video.svg', 'far file-video'),
+('uvvs', 'video/vnd.dece.sd', 'mime-type-video.svg', 'far file-video'),
+('uvv', 'video/vnd.dece.video', 'mime-type-video.svg', 'far file-video'),
+('uvvv', 'video/vnd.dece.video', 'mime-type-video.svg', 'far file-video'),
+('dvb', 'video/vnd.dvb.file', 'mime-type-video.svg', 'far file-video'),
+('fvt', 'video/vnd.fvt', 'mime-type-video.svg', 'far file-video'),
+('mxu', 'video/vnd.mpegurl', 'mime-type-video.svg', 'far file-video'),
+('m4u', 'video/vnd.mpegurl', 'mime-type-video.svg', 'far file-video'),
+('pyv', 'video/vnd.ms-playready.media.pyv', 'mime-type-video.svg', 'far file-video'),
+('uvu', 'video/vnd.uvvu.mp4', 'mime-type-video.svg', 'far file-video'),
+('uvvu', 'video/vnd.uvvu.mp4', 'mime-type-video.svg', 'far file-video'),
+('viv', 'video/vnd.vivo', 'mime-type-video.svg', 'far file-video'),
+('dv', 'video/x-dv', 'mime-type-video.svg', 'far file-video'),
+('dif', 'video/x-dv', 'mime-type-video.svg', 'far file-excel'),
+('webm', 'video/webm', 'mime-type-video.svg', 'far file-video'),
+('f4v', 'video/x-f4v', 'mime-type-video.svg', 'far file-video'),
+('fli', 'video/x-fli', 'mime-type-video.svg', 'far file-video'),
+('flv', 'video/x-flv', 'mime-type-video.svg', 'far file-video'),
+('mkv', 'video/x-matroska', 'mime-type-video.svg', 'far file-video'),
+('mk3d', 'video/x-matroska', 'mime-type-video.svg', 'far file-video'),
+('mks', 'video/x-matroska', 'mime-type-video.svg', 'far file-video'),
+('mng', 'video/x-mng', 'mime-type-video.svg', 'far file-video'),
+('asf', 'video/x-ms-asf', 'mime-type-video.svg', 'far file-video'),
+('asx', 'video/x-ms-asf', 'mime-type-video.svg', 'far file-video'),
+('vob', 'video/x-ms-vob', 'mime-type-video.svg', 'far file-video'),
+('wm', 'video/x-ms-wm', 'mime-type-video.svg', 'far file-video'),
+('wmv', 'video/x-ms-wmv', 'mime-type-video.svg', 'far file-video'),
+('wmx', 'video/x-ms-wmx', 'mime-type-video.svg', 'far file-video'),
+('wvx', 'video/x-ms-wvx', 'mime-type-video.svg', 'far file-video'),
+('avi', 'video/x-msvideo', 'mime-type-video.svg', 'far file-video'),
+('movie', 'video/x-sgi-movie', 'mime-type-video.svg', 'far file-video'),
+('smv', 'video/x-smv', 'mime-type-video.svg', 'far file-video'),
 ('ice', 'x-conference/x-cooltalk', '', '');
 
 

+ 7 - 0
template/images/icons/mime-type-any.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><path d="M200,224H56a8,8,0,0,1-8-8V40a8,8,0,0,1,8-8h96l56,56V216A8,8,0,0,1,200,224Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-archive.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M200,224a8,8,0,0,0,8-8V88L152,32H56a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="104" y1="224" x2="104" y2="112" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="88" y1="160" x2="120" y2="160" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="88" y1="128" x2="120" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="88" y1="192" x2="120" y2="192" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-audio.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="48 200 48 160 72 160 96 136 96 224 72 200 48 200" opacity="0.2"/><polygon points="48 200 48 160 72 160 96 136 96 224 72 200 48 200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M128,152a32.5,32.5,0,0,1,0,56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M168,224h32a8,8,0,0,0,8-8V88L152,32H56a8,8,0,0,0-8,8v80" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-document.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><path d="M48,112V40a8,8,0,0,1,8-8h96l56,56v24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M36,152v56H52a28,28,0,0,0,0-56Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M216,200.87A22.12,22.12,0,0,1,200,208c-13.26,0-24-12.54-24-28s10.74-28,24-28a22.12,22.12,0,0,1,16,7.13" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><ellipse cx="128" cy="180" rx="24" ry="28" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-image.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 224 104 152 76.36 193.46 60 168 24 224 152 224" opacity="0.2"/><polygon points="152 224 104 152 76.36 193.46 60 168 24 224 152 224" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M192,224h8a8,8,0,0,0,8-8V88L152,32H56a8,8,0,0,0-8,8v96" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-png.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><path d="M48,112V40a8,8,0,0,1,8-8h96l56,56v24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M44,192H60a20,20,0,0,0,0-40H44v56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M208,184h8v16.87A22.12,22.12,0,0,1,200,208c-13.25,0-24-12.54-24-28s10.75-28,24-28a21.28,21.28,0,0,1,12,3.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="108 208 108 152 148 208 148 152" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-presentation.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><line x1="216" y1="152" x2="176" y2="152" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="196" y1="152" x2="196" y2="208" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M48,192H64a20,20,0,0,0,0-40H48v56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M116,192h16a20,20,0,0,0,0-40H116v56" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><path d="M48,112V40a8,8,0,0,1,8-8h96l56,56v24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-psd.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 224 104 152 76.36 193.46 60 168 24 224 152 224" opacity="0.2"/><polygon points="152 224 104 152 76.36 193.46 60 168 24 224 152 224" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M192,224h8a8,8,0,0,0,8-8V88L152,32H56a8,8,0,0,0-8,8v96" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-spreadsheet.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><path d="M48,112V40a8,8,0,0,1,8-8h96l56,56v24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="148 208 120 208 120 152" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="48" y1="152" x2="88" y2="208" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><line x1="88" y1="152" x2="48" y2="208" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M203.9,153.6s-29.43-7.78-31.8,11,38.43,10.12,35.78,30.72c-2.47,19.16-31.78,11-31.78,11" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-vector.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+    
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><path d="M48,112V40a8,8,0,0,1,8-8h96l56,56v24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M75.9,153.6s-29.43-7.78-31.8,11,38.43,10.12,35.78,30.72c-2.47,19.16-31.78,11-31.78,11" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polyline points="104 152 124 208 144 152" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M200,184h8v16.87A22.12,22.12,0,0,1,192,208c-13.25,0-24-12.54-24-28s10.75-28,24-28a21.28,21.28,0,0,1,12,3.75" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>

+ 7 - 0
template/images/icons/mime-type-video.svg

@@ -0,0 +1,7 @@
+<svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" style="box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);">
+    <!-- Rounded rectangle with background and border -->
+    <rect x="1" y="1" width="94" height="94" fill="rgba(107, 114, 128, 0.2)" stroke="rgba(107, 114, 128, 0.2)" rx="12" ry="12"></rect>
+
+    <!-- Nested SVG containing the icon -->
+    <svg x="32" y="32" width="32" height="32" viewBox="0 0 256 256"><rect width="256" height="256" fill="none"/><path d="M112,175.67V168a8,8,0,0,0-8-8H48a8,8,0,0,0-8,8v40a8,8,0,0,0,8,8h56a8,8,0,0,0,8-8v-8.82L144,216V160Z" opacity="0.2"/><polyline points="112 175.67 144 160 144 216 112 199.18" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><rect x="40" y="160" width="72" height="56" rx="8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><polygon points="152 32 152 88 208 88 152 32" opacity="0.2"/><polyline points="152 32 152 88 208 88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/><path d="M176,224h24a8,8,0,0,0,8-8V88L152,32H56a8,8,0,0,0-8,8v88" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"/></svg>
+</svg>