Index: branches/5.2.x/core/admin_templates/js/uploader/uploader.js =================================================================== diff -u -N -r15446 -r15724 --- branches/5.2.x/core/admin_templates/js/uploader/uploader.js (.../uploader.js) (revision 15446) +++ branches/5.2.x/core/admin_templates/js/uploader/uploader.js (.../uploader.js) (revision 15724) @@ -297,9 +297,27 @@ Uploader.prototype.getFileIcon = function($filename) { $filename.match(/\.([^.]*)$/); - var ext = RegExp.$1.toLowerCase(); + var $ext = RegExp.$1.toLowerCase(), + $ext_overrides = { + 'doc': '^(docx|dotx|docm|dotm)$', + 'xls': '^(xlsx|xltx|xlsm|xltm|xlam|xlsb)$', + 'ppt': '^(pptx|potx|ppsx|ppam|pptm|potm|ppsm)$' + }; - $icon = ext.match(/^(ai|avi|bmp|cs|dll|doc|dot|exe|fla|gif|htm|html|jpg|js|mdb|mp3|pdf|ppt|rdp|swf|swt|txt|vsd|xls|xml|zip)$/) ? ext : 'default.icon'; + $.each($ext_overrides, function ($new_ext, $expression) { + var $regexp = new RegExp($expression); + + if ( $ext.match($regexp) ) { + $ext = $new_ext; + + return false; + } + + return true; + }); + + var $icon = $ext.match(/^(ai|avi|bmp|cs|dll|doc|dot|exe|fla|gif|htm|html|jpg|js|mdb|mp3|pdf|ppt|rdp|swf|swt|txt|vsd|xls|xml|zip)$/) ? $ext : 'default.icon'; + return this.IconPath + '/' + $icon + '.gif'; }