Index: branches/5.2.x/core/kernel/globals.php =================================================================== diff -u -N -r15588 -r15724 --- branches/5.2.x/core/kernel/globals.php (.../globals.php) (revision 15588) +++ branches/5.2.x/core/kernel/globals.php (.../globals.php) (revision 15724) @@ -1,6 +1,6 @@ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', + 'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', + 'docm' => 'application/vnd.ms-word.document.macroEnabled.12', + 'dotm' => 'application/vnd.ms-word.template.macroEnabled.12', + 'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + 'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template', + 'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12', + 'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12', + 'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12', + 'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12', + 'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation', + 'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template', + 'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow', + 'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12', + 'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12', + 'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12', + 'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12' + ); + + return isset($mapping[$file_extension]) ? $mapping[$file_extension] : false; + } + + /** * Detects mime type of the file purely based on it's extension * * @param string $file 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'; }