diff --git a/blocks/private_files/renderer.php b/blocks/private_files/renderer.php
index 86ae69c5800..58ec15d5c1c 100644
--- a/blocks/private_files/renderer.php
+++ b/blocks/private_files/renderer.php
@@ -60,14 +60,14 @@ class block_private_files_renderer extends plugin_renderer_base {
}
$result = '
';
diff --git a/blog/locallib.php b/blog/locallib.php
index 6e92068ff9e..cebde0b0c6e 100644
--- a/blog/locallib.php
+++ b/blog/locallib.php
@@ -501,10 +501,10 @@ class blog_entry {
$ffurl = file_encode_url($CFG->wwwroot.'/pluginfile.php', '/'.SYSCONTEXTID.'/blog/attachment/'.$this->id.'/'.$filename);
$mimetype = $file->get_mimetype();
- $icon = substr(mimeinfo_from_type("icon", $mimetype), 0, -4);
+ $icon = mimeinfo_from_type("icon", $mimetype);
$type = mimeinfo_from_type("type", $mimetype);
- $image = $OUTPUT->pix_icon("/f/$icon", $filename, 'moodle', array('class'=>'icon'));
+ $image = $OUTPUT->pix_icon("f/$icon", $filename, 'moodle', array('class'=>'icon'));
if ($return == "html") {
$output .= html_writer::link($ffurl, $image);
diff --git a/course/lib.php b/course/lib.php
index 80a1a0c9893..2fa0b7ae982 100644
--- a/course/lib.php
+++ b/course/lib.php
@@ -1391,9 +1391,9 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
if (!empty($customicon)) {
if (substr($customicon, 0, 4) === 'mod/') {
list($modname, $iconname) = explode('/', substr($customicon, 4), 2);
- $icon = $OUTPUT->pix_url(str_replace(array('.gif', '.png'), '', $customicon), $modname);
+ $icon = $OUTPUT->pix_url($customicon, $modname);
} else {
- $icon = $OUTPUT->pix_url(str_replace(array('.gif', '.png'), '', $customicon));
+ $icon = $OUTPUT->pix_url($customicon);
}
} else {
$icon = $OUTPUT->pix_url('icon', $mod->modname);
@@ -1405,9 +1405,7 @@ function print_section($course, $section, $mods, $modnamesused, $absolute=false,
if (!empty($customicon)) {
$archetype = plugin_supports('mod', $mod->modname, FEATURE_MOD_ARCHETYPE, MOD_ARCHETYPE_OTHER);
if ($archetype == MOD_ARCHETYPE_RESOURCE) {
- $possaltname = str_replace(array('.gif', '.png'), '', $customicon).'.gif';
-
- $mimetype = mimeinfo_from_icon('type', $possaltname);
+ $mimetype = mimeinfo_from_icon('type', $customicon);
$altname = get_mimetype_description($mimetype);
}
}
diff --git a/lib/filelib.php b/lib/filelib.php
index 495e232d3a9..6d48fba275c 100644
--- a/lib/filelib.php
+++ b/lib/filelib.php
@@ -530,7 +530,6 @@ function file_get_drafarea_files($draftitemid, $filepath = '/') {
$item->filesize = $filesize ? display_size($filesize) : '';
$icon = mimeinfo_from_type('icon', $file->get_mimetype());
- $icon = str_replace('.gif', '', $icon);
$item->icon = $OUTPUT->pix_url('f/' . $icon)->out();
$item->sortorder = $file->get_sortorder();
@@ -1092,168 +1091,168 @@ function download_file_content_write_handler($received, $ch, $data) {
*/
function get_mimetypes_array() {
static $mimearray = array (
- 'xxx' => array ('type'=>'document/unknown', 'icon'=>'unknown.gif'),
- '3gp' => array ('type'=>'video/quicktime', 'icon'=>'video.gif'),
- 'ai' => array ('type'=>'application/postscript', 'icon'=>'image.gif'),
- 'aif' => array ('type'=>'audio/x-aiff', 'icon'=>'audio.gif'),
- 'aiff' => array ('type'=>'audio/x-aiff', 'icon'=>'audio.gif'),
- 'aifc' => array ('type'=>'audio/x-aiff', 'icon'=>'audio.gif'),
- 'applescript' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'asc' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'asm' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'au' => array ('type'=>'audio/au', 'icon'=>'audio.gif'),
- 'avi' => array ('type'=>'video/x-ms-wm', 'icon'=>'avi.gif'),
- 'bmp' => array ('type'=>'image/bmp', 'icon'=>'image.gif'),
- 'c' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'cct' => array ('type'=>'shockwave/director', 'icon'=>'flash.gif'),
- 'cpp' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'cs' => array ('type'=>'application/x-csh', 'icon'=>'text.gif'),
- 'css' => array ('type'=>'text/css', 'icon'=>'text.gif'),
- 'csv' => array ('type'=>'text/csv', 'icon'=>'excel.gif'),
- 'dv' => array ('type'=>'video/x-dv', 'icon'=>'video.gif'),
- 'dmg' => array ('type'=>'application/octet-stream', 'icon'=>'dmg.gif'),
+ 'xxx' => array ('type'=>'document/unknown', 'icon'=>'unknown'),
+ '3gp' => array ('type'=>'video/quicktime', 'icon'=>'video'),
+ 'ai' => array ('type'=>'application/postscript', 'icon'=>'image'),
+ 'aif' => array ('type'=>'audio/x-aiff', 'icon'=>'audio'),
+ 'aiff' => array ('type'=>'audio/x-aiff', 'icon'=>'audio'),
+ 'aifc' => array ('type'=>'audio/x-aiff', 'icon'=>'audio'),
+ 'applescript' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'asc' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'asm' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'au' => array ('type'=>'audio/au', 'icon'=>'audio'),
+ 'avi' => array ('type'=>'video/x-ms-wm', 'icon'=>'avi'),
+ 'bmp' => array ('type'=>'image/bmp', 'icon'=>'image'),
+ 'c' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'cct' => array ('type'=>'shockwave/director', 'icon'=>'flash'),
+ 'cpp' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'cs' => array ('type'=>'application/x-csh', 'icon'=>'text'),
+ 'css' => array ('type'=>'text/css', 'icon'=>'text'),
+ 'csv' => array ('type'=>'text/csv', 'icon'=>'excel'),
+ 'dv' => array ('type'=>'video/x-dv', 'icon'=>'video'),
+ 'dmg' => array ('type'=>'application/octet-stream', 'icon'=>'dmg'),
- 'doc' => array ('type'=>'application/msword', 'icon'=>'word.gif'),
- 'docx' => array ('type'=>'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'icon'=>'docx.gif'),
- 'docm' => array ('type'=>'application/vnd.ms-word.document.macroEnabled.12', 'icon'=>'docm.gif'),
- 'dotx' => array ('type'=>'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'icon'=>'dotx.gif'),
- 'dotm' => array ('type'=>'application/vnd.ms-word.template.macroEnabled.12', 'icon'=>'dotm.gif'),
+ 'doc' => array ('type'=>'application/msword', 'icon'=>'word'),
+ 'docx' => array ('type'=>'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'icon'=>'docx'),
+ 'docm' => array ('type'=>'application/vnd.ms-word.document.macroEnabled.12', 'icon'=>'docm'),
+ 'dotx' => array ('type'=>'application/vnd.openxmlformats-officedocument.wordprocessingml.template', 'icon'=>'dotx'),
+ 'dotm' => array ('type'=>'application/vnd.ms-word.template.macroEnabled.12', 'icon'=>'dotm'),
- 'dcr' => array ('type'=>'application/x-director', 'icon'=>'flash.gif'),
- 'dif' => array ('type'=>'video/x-dv', 'icon'=>'video.gif'),
- 'dir' => array ('type'=>'application/x-director', 'icon'=>'flash.gif'),
- 'dxr' => array ('type'=>'application/x-director', 'icon'=>'flash.gif'),
- 'eps' => array ('type'=>'application/postscript', 'icon'=>'pdf.gif'),
- 'fdf' => array ('type'=>'application/pdf', 'icon'=>'pdf.gif'),
- 'flv' => array ('type'=>'video/x-flv', 'icon'=>'video.gif'),
- 'gif' => array ('type'=>'image/gif', 'icon'=>'image.gif'),
- 'gtar' => array ('type'=>'application/x-gtar', 'icon'=>'zip.gif'),
- 'tgz' => array ('type'=>'application/g-zip', 'icon'=>'zip.gif'),
- 'gz' => array ('type'=>'application/g-zip', 'icon'=>'zip.gif'),
- 'gzip' => array ('type'=>'application/g-zip', 'icon'=>'zip.gif'),
- 'h' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'hpp' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'hqx' => array ('type'=>'application/mac-binhex40', 'icon'=>'zip.gif'),
- 'htc' => array ('type'=>'text/x-component', 'icon'=>'text.gif'),
- 'html' => array ('type'=>'text/html', 'icon'=>'html.gif'),
- 'xhtml'=> array ('type'=>'application/xhtml+xml', 'icon'=>'html.gif'),
- 'htm' => array ('type'=>'text/html', 'icon'=>'html.gif'),
- 'ico' => array ('type'=>'image/vnd.microsoft.icon', 'icon'=>'image.gif'),
- 'ics' => array ('type'=>'text/calendar', 'icon'=>'text.gif'),
- 'isf' => array ('type'=>'application/inspiration', 'icon'=>'isf.gif'),
- 'ist' => array ('type'=>'application/inspiration.template', 'icon'=>'isf.gif'),
- 'java' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'jcb' => array ('type'=>'text/xml', 'icon'=>'jcb.gif'),
- 'jcl' => array ('type'=>'text/xml', 'icon'=>'jcl.gif'),
- 'jcw' => array ('type'=>'text/xml', 'icon'=>'jcw.gif'),
- 'jmt' => array ('type'=>'text/xml', 'icon'=>'jmt.gif'),
- 'jmx' => array ('type'=>'text/xml', 'icon'=>'jmx.gif'),
- 'jpe' => array ('type'=>'image/jpeg', 'icon'=>'image.gif'),
- 'jpeg' => array ('type'=>'image/jpeg', 'icon'=>'image.gif'),
- 'jpg' => array ('type'=>'image/jpeg', 'icon'=>'image.gif'),
- 'jqz' => array ('type'=>'text/xml', 'icon'=>'jqz.gif'),
- 'js' => array ('type'=>'application/x-javascript', 'icon'=>'text.gif'),
- 'latex'=> array ('type'=>'application/x-latex', 'icon'=>'text.gif'),
- 'm' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'mov' => array ('type'=>'video/quicktime', 'icon'=>'video.gif'),
- 'movie'=> array ('type'=>'video/x-sgi-movie', 'icon'=>'video.gif'),
- 'm3u' => array ('type'=>'audio/x-mpegurl', 'icon'=>'audio.gif'),
- 'mp3' => array ('type'=>'audio/mp3', 'icon'=>'audio.gif'),
- 'mp4' => array ('type'=>'video/mp4', 'icon'=>'video.gif'),
- 'm4v' => array ('type'=>'video/mp4', 'icon'=>'video.gif'),
- 'm4a' => array ('type'=>'audio/mp4', 'icon'=>'audio.gif'),
- 'mpeg' => array ('type'=>'video/mpeg', 'icon'=>'video.gif'),
- 'mpe' => array ('type'=>'video/mpeg', 'icon'=>'video.gif'),
- 'mpg' => array ('type'=>'video/mpeg', 'icon'=>'video.gif'),
+ 'dcr' => array ('type'=>'application/x-director', 'icon'=>'flash'),
+ 'dif' => array ('type'=>'video/x-dv', 'icon'=>'video'),
+ 'dir' => array ('type'=>'application/x-director', 'icon'=>'flash'),
+ 'dxr' => array ('type'=>'application/x-director', 'icon'=>'flash'),
+ 'eps' => array ('type'=>'application/postscript', 'icon'=>'pdf'),
+ 'fdf' => array ('type'=>'application/pdf', 'icon'=>'pdf'),
+ 'flv' => array ('type'=>'video/x-flv', 'icon'=>'video'),
+ 'gif' => array ('type'=>'image/gif', 'icon'=>'image'),
+ 'gtar' => array ('type'=>'application/x-gtar', 'icon'=>'zip'),
+ 'tgz' => array ('type'=>'application/g-zip', 'icon'=>'zip'),
+ 'gz' => array ('type'=>'application/g-zip', 'icon'=>'zip'),
+ 'gzip' => array ('type'=>'application/g-zip', 'icon'=>'zip'),
+ 'h' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'hpp' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'hqx' => array ('type'=>'application/mac-binhex40', 'icon'=>'zip'),
+ 'htc' => array ('type'=>'text/x-component', 'icon'=>'text'),
+ 'html' => array ('type'=>'text/html', 'icon'=>'html'),
+ 'xhtml'=> array ('type'=>'application/xhtml+xml', 'icon'=>'html'),
+ 'htm' => array ('type'=>'text/html', 'icon'=>'html'),
+ 'ico' => array ('type'=>'image/vnd.microsoft.icon', 'icon'=>'image'),
+ 'ics' => array ('type'=>'text/calendar', 'icon'=>'text'),
+ 'isf' => array ('type'=>'application/inspiration', 'icon'=>'isf'),
+ 'ist' => array ('type'=>'application/inspiration.template', 'icon'=>'isf'),
+ 'java' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'jcb' => array ('type'=>'text/xml', 'icon'=>'jcb'),
+ 'jcl' => array ('type'=>'text/xml', 'icon'=>'jcl'),
+ 'jcw' => array ('type'=>'text/xml', 'icon'=>'jcw'),
+ 'jmt' => array ('type'=>'text/xml', 'icon'=>'jmt'),
+ 'jmx' => array ('type'=>'text/xml', 'icon'=>'jmx'),
+ 'jpe' => array ('type'=>'image/jpeg', 'icon'=>'image'),
+ 'jpeg' => array ('type'=>'image/jpeg', 'icon'=>'image'),
+ 'jpg' => array ('type'=>'image/jpeg', 'icon'=>'image'),
+ 'jqz' => array ('type'=>'text/xml', 'icon'=>'jqz'),
+ 'js' => array ('type'=>'application/x-javascript', 'icon'=>'text'),
+ 'latex'=> array ('type'=>'application/x-latex', 'icon'=>'text'),
+ 'm' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'mov' => array ('type'=>'video/quicktime', 'icon'=>'video'),
+ 'movie'=> array ('type'=>'video/x-sgi-movie', 'icon'=>'video'),
+ 'm3u' => array ('type'=>'audio/x-mpegurl', 'icon'=>'audio'),
+ 'mp3' => array ('type'=>'audio/mp3', 'icon'=>'audio'),
+ 'mp4' => array ('type'=>'video/mp4', 'icon'=>'video'),
+ 'm4v' => array ('type'=>'video/mp4', 'icon'=>'video'),
+ 'm4a' => array ('type'=>'audio/mp4', 'icon'=>'audio'),
+ 'mpeg' => array ('type'=>'video/mpeg', 'icon'=>'video'),
+ 'mpe' => array ('type'=>'video/mpeg', 'icon'=>'video'),
+ 'mpg' => array ('type'=>'video/mpeg', 'icon'=>'video'),
- 'odt' => array ('type'=>'application/vnd.oasis.opendocument.text', 'icon'=>'odt.gif'),
- 'ott' => array ('type'=>'application/vnd.oasis.opendocument.text-template', 'icon'=>'odt.gif'),
- 'oth' => array ('type'=>'application/vnd.oasis.opendocument.text-web', 'icon'=>'odt.gif'),
- 'odm' => array ('type'=>'application/vnd.oasis.opendocument.text-master', 'icon'=>'odm.gif'),
- 'odg' => array ('type'=>'application/vnd.oasis.opendocument.graphics', 'icon'=>'odg.gif'),
- 'otg' => array ('type'=>'application/vnd.oasis.opendocument.graphics-template', 'icon'=>'odg.gif'),
- 'odp' => array ('type'=>'application/vnd.oasis.opendocument.presentation', 'icon'=>'odp.gif'),
- 'otp' => array ('type'=>'application/vnd.oasis.opendocument.presentation-template', 'icon'=>'odp.gif'),
- 'ods' => array ('type'=>'application/vnd.oasis.opendocument.spreadsheet', 'icon'=>'ods.gif'),
- 'ots' => array ('type'=>'application/vnd.oasis.opendocument.spreadsheet-template', 'icon'=>'ods.gif'),
- 'odc' => array ('type'=>'application/vnd.oasis.opendocument.chart', 'icon'=>'odc.gif'),
- 'odf' => array ('type'=>'application/vnd.oasis.opendocument.formula', 'icon'=>'odf.gif'),
- 'odb' => array ('type'=>'application/vnd.oasis.opendocument.database', 'icon'=>'odb.gif'),
- 'odi' => array ('type'=>'application/vnd.oasis.opendocument.image', 'icon'=>'odi.gif'),
+ 'odt' => array ('type'=>'application/vnd.oasis.opendocument.text', 'icon'=>'odt'),
+ 'ott' => array ('type'=>'application/vnd.oasis.opendocument.text-template', 'icon'=>'odt'),
+ 'oth' => array ('type'=>'application/vnd.oasis.opendocument.text-web', 'icon'=>'odt'),
+ 'odm' => array ('type'=>'application/vnd.oasis.opendocument.text-master', 'icon'=>'odm'),
+ 'odg' => array ('type'=>'application/vnd.oasis.opendocument.graphics', 'icon'=>'odg'),
+ 'otg' => array ('type'=>'application/vnd.oasis.opendocument.graphics-template', 'icon'=>'odg'),
+ 'odp' => array ('type'=>'application/vnd.oasis.opendocument.presentation', 'icon'=>'odp'),
+ 'otp' => array ('type'=>'application/vnd.oasis.opendocument.presentation-template', 'icon'=>'odp'),
+ 'ods' => array ('type'=>'application/vnd.oasis.opendocument.spreadsheet', 'icon'=>'ods'),
+ 'ots' => array ('type'=>'application/vnd.oasis.opendocument.spreadsheet-template', 'icon'=>'ods'),
+ 'odc' => array ('type'=>'application/vnd.oasis.opendocument.chart', 'icon'=>'odc'),
+ 'odf' => array ('type'=>'application/vnd.oasis.opendocument.formula', 'icon'=>'odf'),
+ 'odb' => array ('type'=>'application/vnd.oasis.opendocument.database', 'icon'=>'odb'),
+ 'odi' => array ('type'=>'application/vnd.oasis.opendocument.image', 'icon'=>'odi'),
- 'pct' => array ('type'=>'image/pict', 'icon'=>'image.gif'),
- 'pdf' => array ('type'=>'application/pdf', 'icon'=>'pdf.gif'),
- 'php' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'pic' => array ('type'=>'image/pict', 'icon'=>'image.gif'),
- 'pict' => array ('type'=>'image/pict', 'icon'=>'image.gif'),
- 'png' => array ('type'=>'image/png', 'icon'=>'image.gif'),
+ 'pct' => array ('type'=>'image/pict', 'icon'=>'image'),
+ 'pdf' => array ('type'=>'application/pdf', 'icon'=>'pdf'),
+ 'php' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'pic' => array ('type'=>'image/pict', 'icon'=>'image'),
+ 'pict' => array ('type'=>'image/pict', 'icon'=>'image'),
+ 'png' => array ('type'=>'image/png', 'icon'=>'image'),
- 'pps' => array ('type'=>'application/vnd.ms-powerpoint', 'icon'=>'powerpoint.gif'),
- 'ppt' => array ('type'=>'application/vnd.ms-powerpoint', 'icon'=>'powerpoint.gif'),
- 'pptx' => array ('type'=>'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'icon'=>'pptx.gif'),
- 'pptm' => array ('type'=>'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'icon'=>'pptm.gif'),
- 'potx' => array ('type'=>'application/vnd.openxmlformats-officedocument.presentationml.template', 'icon'=>'potx.gif'),
- 'potm' => array ('type'=>'application/vnd.ms-powerpoint.template.macroEnabled.12', 'icon'=>'potm.gif'),
- 'ppam' => array ('type'=>'application/vnd.ms-powerpoint.addin.macroEnabled.12', 'icon'=>'ppam.gif'),
- 'ppsx' => array ('type'=>'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'icon'=>'ppsx.gif'),
- 'ppsm' => array ('type'=>'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'icon'=>'ppsm.gif'),
+ 'pps' => array ('type'=>'application/vnd.ms-powerpoint', 'icon'=>'powerpoint'),
+ 'ppt' => array ('type'=>'application/vnd.ms-powerpoint', 'icon'=>'powerpoint'),
+ 'pptx' => array ('type'=>'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'icon'=>'pptx'),
+ 'pptm' => array ('type'=>'application/vnd.ms-powerpoint.presentation.macroEnabled.12', 'icon'=>'pptm'),
+ 'potx' => array ('type'=>'application/vnd.openxmlformats-officedocument.presentationml.template', 'icon'=>'potx'),
+ 'potm' => array ('type'=>'application/vnd.ms-powerpoint.template.macroEnabled.12', 'icon'=>'potm'),
+ 'ppam' => array ('type'=>'application/vnd.ms-powerpoint.addin.macroEnabled.12', 'icon'=>'ppam'),
+ 'ppsx' => array ('type'=>'application/vnd.openxmlformats-officedocument.presentationml.slideshow', 'icon'=>'ppsx'),
+ 'ppsm' => array ('type'=>'application/vnd.ms-powerpoint.slideshow.macroEnabled.12', 'icon'=>'ppsm'),
- 'ps' => array ('type'=>'application/postscript', 'icon'=>'pdf.gif'),
- 'qt' => array ('type'=>'video/quicktime', 'icon'=>'video.gif'),
- 'ra' => array ('type'=>'audio/x-realaudio-plugin', 'icon'=>'audio.gif'),
- 'ram' => array ('type'=>'audio/x-pn-realaudio-plugin', 'icon'=>'audio.gif'),
- 'rhb' => array ('type'=>'text/xml', 'icon'=>'xml.gif'),
- 'rm' => array ('type'=>'audio/x-pn-realaudio-plugin', 'icon'=>'audio.gif'),
- 'rtf' => array ('type'=>'text/rtf', 'icon'=>'text.gif'),
- 'rtx' => array ('type'=>'text/richtext', 'icon'=>'text.gif'),
- 'sh' => array ('type'=>'application/x-sh', 'icon'=>'text.gif'),
- 'sit' => array ('type'=>'application/x-stuffit', 'icon'=>'zip.gif'),
- 'smi' => array ('type'=>'application/smil', 'icon'=>'text.gif'),
- 'smil' => array ('type'=>'application/smil', 'icon'=>'text.gif'),
- 'sqt' => array ('type'=>'text/xml', 'icon'=>'xml.gif'),
- 'svg' => array ('type'=>'image/svg+xml', 'icon'=>'image.gif'),
- 'svgz' => array ('type'=>'image/svg+xml', 'icon'=>'image.gif'),
- 'swa' => array ('type'=>'application/x-director', 'icon'=>'flash.gif'),
- 'swf' => array ('type'=>'application/x-shockwave-flash', 'icon'=>'flash.gif'),
- 'swfl' => array ('type'=>'application/x-shockwave-flash', 'icon'=>'flash.gif'),
+ 'ps' => array ('type'=>'application/postscript', 'icon'=>'pdf'),
+ 'qt' => array ('type'=>'video/quicktime', 'icon'=>'video'),
+ 'ra' => array ('type'=>'audio/x-realaudio-plugin', 'icon'=>'audio'),
+ 'ram' => array ('type'=>'audio/x-pn-realaudio-plugin', 'icon'=>'audio'),
+ 'rhb' => array ('type'=>'text/xml', 'icon'=>'xml'),
+ 'rm' => array ('type'=>'audio/x-pn-realaudio-plugin', 'icon'=>'audio'),
+ 'rtf' => array ('type'=>'text/rtf', 'icon'=>'text'),
+ 'rtx' => array ('type'=>'text/richtext', 'icon'=>'text'),
+ 'sh' => array ('type'=>'application/x-sh', 'icon'=>'text'),
+ 'sit' => array ('type'=>'application/x-stuffit', 'icon'=>'zip'),
+ 'smi' => array ('type'=>'application/smil', 'icon'=>'text'),
+ 'smil' => array ('type'=>'application/smil', 'icon'=>'text'),
+ 'sqt' => array ('type'=>'text/xml', 'icon'=>'xml'),
+ 'svg' => array ('type'=>'image/svg+xml', 'icon'=>'image'),
+ 'svgz' => array ('type'=>'image/svg+xml', 'icon'=>'image'),
+ 'swa' => array ('type'=>'application/x-director', 'icon'=>'flash'),
+ 'swf' => array ('type'=>'application/x-shockwave-flash', 'icon'=>'flash'),
+ 'swfl' => array ('type'=>'application/x-shockwave-flash', 'icon'=>'flash'),
- 'sxw' => array ('type'=>'application/vnd.sun.xml.writer', 'icon'=>'odt.gif'),
- 'stw' => array ('type'=>'application/vnd.sun.xml.writer.template', 'icon'=>'odt.gif'),
- 'sxc' => array ('type'=>'application/vnd.sun.xml.calc', 'icon'=>'odt.gif'),
- 'stc' => array ('type'=>'application/vnd.sun.xml.calc.template', 'icon'=>'odt.gif'),
- 'sxd' => array ('type'=>'application/vnd.sun.xml.draw', 'icon'=>'odt.gif'),
- 'std' => array ('type'=>'application/vnd.sun.xml.draw.template', 'icon'=>'odt.gif'),
- 'sxi' => array ('type'=>'application/vnd.sun.xml.impress', 'icon'=>'odt.gif'),
- 'sti' => array ('type'=>'application/vnd.sun.xml.impress.template', 'icon'=>'odt.gif'),
- 'sxg' => array ('type'=>'application/vnd.sun.xml.writer.global', 'icon'=>'odt.gif'),
- 'sxm' => array ('type'=>'application/vnd.sun.xml.math', 'icon'=>'odt.gif'),
+ 'sxw' => array ('type'=>'application/vnd.sun.xml.writer', 'icon'=>'odt'),
+ 'stw' => array ('type'=>'application/vnd.sun.xml.writer.template', 'icon'=>'odt'),
+ 'sxc' => array ('type'=>'application/vnd.sun.xml.calc', 'icon'=>'odt'),
+ 'stc' => array ('type'=>'application/vnd.sun.xml.calc.template', 'icon'=>'odt'),
+ 'sxd' => array ('type'=>'application/vnd.sun.xml.draw', 'icon'=>'odt'),
+ 'std' => array ('type'=>'application/vnd.sun.xml.draw.template', 'icon'=>'odt'),
+ 'sxi' => array ('type'=>'application/vnd.sun.xml.impress', 'icon'=>'odt'),
+ 'sti' => array ('type'=>'application/vnd.sun.xml.impress.template', 'icon'=>'odt'),
+ 'sxg' => array ('type'=>'application/vnd.sun.xml.writer.global', 'icon'=>'odt'),
+ 'sxm' => array ('type'=>'application/vnd.sun.xml.math', 'icon'=>'odt'),
- 'tar' => array ('type'=>'application/x-tar', 'icon'=>'zip.gif'),
- 'tif' => array ('type'=>'image/tiff', 'icon'=>'image.gif'),
- 'tiff' => array ('type'=>'image/tiff', 'icon'=>'image.gif'),
- 'tex' => array ('type'=>'application/x-tex', 'icon'=>'text.gif'),
- 'texi' => array ('type'=>'application/x-texinfo', 'icon'=>'text.gif'),
- 'texinfo' => array ('type'=>'application/x-texinfo', 'icon'=>'text.gif'),
- 'tsv' => array ('type'=>'text/tab-separated-values', 'icon'=>'text.gif'),
- 'txt' => array ('type'=>'text/plain', 'icon'=>'text.gif'),
- 'wav' => array ('type'=>'audio/wav', 'icon'=>'audio.gif'),
- 'wmv' => array ('type'=>'video/x-ms-wmv', 'icon'=>'avi.gif'),
- 'asf' => array ('type'=>'video/x-ms-asf', 'icon'=>'avi.gif'),
- 'xdp' => array ('type'=>'application/pdf', 'icon'=>'pdf.gif'),
- 'xfd' => array ('type'=>'application/pdf', 'icon'=>'pdf.gif'),
- 'xfdf' => array ('type'=>'application/pdf', 'icon'=>'pdf.gif'),
+ 'tar' => array ('type'=>'application/x-tar', 'icon'=>'zip'),
+ 'tif' => array ('type'=>'image/tiff', 'icon'=>'image'),
+ 'tiff' => array ('type'=>'image/tiff', 'icon'=>'image'),
+ 'tex' => array ('type'=>'application/x-tex', 'icon'=>'text'),
+ 'texi' => array ('type'=>'application/x-texinfo', 'icon'=>'text'),
+ 'texinfo' => array ('type'=>'application/x-texinfo', 'icon'=>'text'),
+ 'tsv' => array ('type'=>'text/tab-separated-values', 'icon'=>'text'),
+ 'txt' => array ('type'=>'text/plain', 'icon'=>'text'),
+ 'wav' => array ('type'=>'audio/wav', 'icon'=>'audio'),
+ 'wmv' => array ('type'=>'video/x-ms-wmv', 'icon'=>'avi'),
+ 'asf' => array ('type'=>'video/x-ms-asf', 'icon'=>'avi'),
+ 'xdp' => array ('type'=>'application/pdf', 'icon'=>'pdf'),
+ 'xfd' => array ('type'=>'application/pdf', 'icon'=>'pdf'),
+ 'xfdf' => array ('type'=>'application/pdf', 'icon'=>'pdf'),
- 'xls' => array ('type'=>'application/vnd.ms-excel', 'icon'=>'excel.gif'),
- 'xlsx' => array ('type'=>'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'icon'=>'xlsx.gif'),
- 'xlsm' => array ('type'=>'application/vnd.ms-excel.sheet.macroEnabled.12', 'icon'=>'xlsm.gif'),
- 'xltx' => array ('type'=>'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'icon'=>'xltx.gif'),
- 'xltm' => array ('type'=>'application/vnd.ms-excel.template.macroEnabled.12', 'icon'=>'xltm.gif'),
- 'xlsb' => array ('type'=>'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'icon'=>'xlsb.gif'),
- 'xlam' => array ('type'=>'application/vnd.ms-excel.addin.macroEnabled.12', 'icon'=>'xlam.gif'),
+ 'xls' => array ('type'=>'application/vnd.ms-excel', 'icon'=>'excel'),
+ 'xlsx' => array ('type'=>'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'icon'=>'xlsx'),
+ 'xlsm' => array ('type'=>'application/vnd.ms-excel.sheet.macroEnabled.12', 'icon'=>'xlsm'),
+ 'xltx' => array ('type'=>'application/vnd.openxmlformats-officedocument.spreadsheetml.template', 'icon'=>'xltx'),
+ 'xltm' => array ('type'=>'application/vnd.ms-excel.template.macroEnabled.12', 'icon'=>'xltm'),
+ 'xlsb' => array ('type'=>'application/vnd.ms-excel.sheet.binary.macroEnabled.12', 'icon'=>'xlsb'),
+ 'xlam' => array ('type'=>'application/vnd.ms-excel.addin.macroEnabled.12', 'icon'=>'xlam'),
- 'xml' => array ('type'=>'application/xml', 'icon'=>'xml.gif'),
- 'xsl' => array ('type'=>'text/xml', 'icon'=>'xml.gif'),
- 'zip' => array ('type'=>'application/zip', 'icon'=>'zip.gif')
+ 'xml' => array ('type'=>'application/xml', 'icon'=>'xml'),
+ 'xsl' => array ('type'=>'text/xml', 'icon'=>'xml'),
+ 'zip' => array ('type'=>'application/zip', 'icon'=>'zip')
);
return $mimearray;
}
@@ -1263,7 +1262,6 @@ function get_mimetypes_array() {
* use a default if no information is present about that particular
* extension.
*
- * @global object
* @param string $element Desired information (usually 'icon'
* for icon filename or 'type' for MIME type)
* @param string $filename Filename we're looking up
@@ -1279,12 +1277,12 @@ function mimeinfo($element, $filename) {
} else {
if ($element == 'icon32') {
if (isset($mimeinfo[strtolower($match[1])]['icon'])) {
- $filename = substr($mimeinfo[strtolower($match[1])]['icon'], 0, -4);
+ $filename = $mimeinfo[strtolower($match[1])]['icon'];
} else {
$filename = 'unknown';
}
$filename .= '-32';
- if (file_exists($CFG->dirroot.'/pix/f/'.$filename.'.png')) {
+ if (file_exists($CFG->dirroot.'/pix/f/'.$filename.'.png') or file_exists($CFG->dirroot.'/pix/f/'.$filename.'.gif')) {
return $filename;
} else {
return 'unknown-32';
@@ -1295,7 +1293,7 @@ function mimeinfo($element, $filename) {
}
} else {
if ($element == 'icon32') {
- return 'unknown-32.png';
+ return 'unknown-32';
}
return $mimeinfo['xxx'][$element]; // By default
}
@@ -1313,8 +1311,8 @@ function mimeinfo_from_type($element, $mimetype) {
$mimeinfo = get_mimetypes_array();
foreach($mimeinfo as $values) {
- if($values['type']==$mimetype) {
- if(isset($values[$element])) {
+ if ($values['type']==$mimetype) {
+ if (isset($values[$element])) {
return $values[$element];
}
break;
@@ -1327,7 +1325,7 @@ function mimeinfo_from_type($element, $mimetype) {
* Get information about a filetype based on the icon file.
*
* @param string $element Desired information (usually 'icon')
- * @param string $icon Icon file path.
+ * @param string $icon Icon file name without extension
* @param boolean $all return all matching entries (defaults to false - best (by ext)/last match)
* @return string Requested piece of information from array
*/
@@ -1344,11 +1342,11 @@ function mimeinfo_from_icon($element, $icon, $all=false) {
}
$info = array($mimeinfo['xxx'][$element]); // Default
foreach($mimeinfo as $key => $values) {
- if($values['icon']==$icon) {
- if(isset($values[$element])) {
+ if ($values['icon']==$icon) {
+ if (isset($values[$element])) {
$info[$key] = $values[$element];
}
- //No break, for example for 'excel.gif' we don't want 'csv'!
+ //No break, for example for 'excel' we don't want 'csv'!
}
}
if ($all) {
@@ -1385,11 +1383,14 @@ function mimeinfo_from_icon($element, $icon, $all=false) {
* @param int $size The size of the icon. Not yet implemented
* @return string The relative path to the icon
*/
-function file_mimetype_icon($mimetype, $size=null) {
+function file_mimetype_icon($mimetype, $size = NULL) {
+ global $CFG;
+
$icon = mimeinfo_from_type('icon', $mimetype);
- $icon = substr($icon, 0, strrpos($icon, '.'));
- if ($size!=null && is_int($size)) {
- $icon .= '-'.$size;
+ if ($size) {
+ if (file_exists("$CFG->dirroot/pix/f/$icon-$size.png") or file_exists("$CFG->dirroot/pix/f/$icon-$size.gif")) {
+ $icon = "$icon-$size";
+ }
}
return 'f/'.$icon;
}
@@ -1414,12 +1415,15 @@ function file_mimetype_icon($mimetype, $size=null) {
* @param int $size The size of the icon. Defaults to null can also be 32
* @return string
*/
-function file_extension_icon($filename, $size=null) {
- $element = 'icon';
- if ($size!==null) {
- $element .= (string)$size;
+function file_extension_icon($filename, $size = NULL) {
+ global $CFG;
+
+ $icon = mimeinfo('icon', $filename);
+ if ($size) {
+ if (file_exists("$CFG->dirroot/pix/f/$icon-$size.png") or file_exists("$CFG->dirroot/pix/f/$icon-$size.gif")) {
+ $icon = "$icon-$size";
+ }
}
- $icon = mimeinfo($element, $filename);
return 'f/'.$icon;
}
@@ -1431,13 +1435,13 @@ function file_extension_icon($filename, $size=null) {
* @param bool $capitalise If true, capitalises first character of result
* @return string Text description
*/
-function get_mimetype_description($mimetype,$capitalise=false) {
+function get_mimetype_description($mimetype, $capitalise=false) {
if (get_string_manager()->string_exists($mimetype, 'mimetypes')) {
$result = get_string($mimetype, 'mimetypes');
} else {
$result = get_string('document/unknown','mimetypes');
}
- if($capitalise) {
+ if ($capitalise) {
$result=ucfirst($result);
}
return $result;
diff --git a/lib/portfolio/formats.php b/lib/portfolio/formats.php
index c297b592316..ef38ab8a024 100644
--- a/lib/portfolio/formats.php
+++ b/lib/portfolio/formats.php
@@ -140,7 +140,7 @@ class portfolio_format_image extends portfolio_format_file {
* return all mimetypes that use image.gif (eg all images)
*/
public static function mimetypes() {
- return mimeinfo_from_icon('type', 'image.gif', true);
+ return mimeinfo_from_icon('type', 'image', true);
}
public static function conflicts($format) {
@@ -174,8 +174,8 @@ class portfolio_format_plainhtml extends portfolio_format_file {
class portfolio_format_video extends portfolio_format_file {
public static function mimetypes() {
return array_merge(
- mimeinfo_from_icon('type', 'video.gif', true),
- mimeinfo_from_icon('type', 'avi.gif', true)
+ mimeinfo_from_icon('type', 'video', true),
+ mimeinfo_from_icon('type', 'avi', true)
);
}
}
@@ -302,9 +302,9 @@ class portfolio_format_document extends portfolio_format_file {
public static function mimetypes() {
return array_merge(
array('text/plain', 'text/rtf'),
- mimeinfo_from_icon('type', 'word.gif', true),
- mimeinfo_from_icon('type', 'docx.gif', true),
- mimeinfo_from_icon('type', 'odt.gif', true)
+ mimeinfo_from_icon('type', 'word', true),
+ mimeinfo_from_icon('type', 'docx', true),
+ mimeinfo_from_icon('type', 'odt', true)
);
}
}
@@ -317,9 +317,9 @@ class portfolio_format_document extends portfolio_format_file {
class portfolio_format_spreadsheet extends portfolio_format_file {
public static function mimetypes() {
return array_merge(
- mimeinfo_from_icon('type', 'excel.gif', true),
- mimeinfo_from_icon('type', 'xlsm.gif', true),
- mimeinfo_from_icon('type', 'ods.gif', true)
+ mimeinfo_from_icon('type', 'excel', true),
+ mimeinfo_from_icon('type', 'xlsm', true),
+ mimeinfo_from_icon('type', 'ods', true)
);
}
}
@@ -331,6 +331,6 @@ class portfolio_format_spreadsheet extends portfolio_format_file {
*/
class portfolio_format_presentation extends portfolio_format_file {
public static function mimetypes() {
- return mimeinfo_from_icon('type', 'powerpoint.gif', true);
+ return mimeinfo_from_icon('type', 'powerpoint', true);
}
}
diff --git a/mod/assignment/renderer.php b/mod/assignment/renderer.php
index 65dc94b1eb7..72d2026853e 100644
--- a/mod/assignment/renderer.php
+++ b/mod/assignment/renderer.php
@@ -59,14 +59,14 @@ class mod_assignment_renderer extends plugin_renderer_base {
$result = '