From: sam marshall Date: Thu, 30 Aug 2012 11:13:56 +0000 (+0100) Subject: MDL-35141 Filelib: No icon for epub filetype X-Git-Tag: v2.4.0-beta~254^2 X-Git-Url: http://git.moodle.org/gw?p=moodle.git;a=commitdiff_plain;h=ed0f5a950713991b92e6ed69569c73603561796a;ds=sidebyside MDL-35141 Filelib: No icon for epub filetype --- diff --git a/lang/en/mimetypes.php b/lang/en/mimetypes.php index 9cb966dd3cb..64624fb6ea2 100644 --- a/lang/en/mimetypes.php +++ b/lang/en/mimetypes.php @@ -46,6 +46,7 @@ $string['application/vnd.openxmlformats-officedocument.presentationml.slideshow' $string['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] = 'Excel spreadsheet'; $string['application/vnd.openxmlformats-officedocument.spreadsheetml.template'] = 'Excel template'; $string['application/vnd.openxmlformats-officedocument.wordprocessingml.document'] = 'Word document'; +$string['application/epub_zip'] = 'EPUB ebook'; $string['archive'] = 'Archive ({$a->EXT})'; $string['audio'] = 'Audio file ({$a->EXT})'; $string['default'] = '{$a->mimetype}'; diff --git a/lib/filelib.php b/lib/filelib.php index af71f161883..5e07761eab8 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -1406,6 +1406,7 @@ function &get_mimetypes_array() { 'dir' => array ('type'=>'application/x-director', 'icon'=>'flash'), 'dxr' => array ('type'=>'application/x-director', 'icon'=>'flash'), 'eps' => array ('type'=>'application/postscript', 'icon'=>'eps'), + 'epub' => array ('type'=>'application/epub+zip', 'icon'=>'epub', 'groups'=>array('document')), 'fdf' => array ('type'=>'application/pdf', 'icon'=>'pdf'), 'flv' => array ('type'=>'video/x-flv', 'icon'=>'flash', 'groups'=>array('video','web_video'), 'string'=>'video'), 'f4v' => array ('type'=>'video/mp4', 'icon'=>'flash', 'groups'=>array('video','web_video'), 'string'=>'video'), @@ -1819,10 +1820,14 @@ function get_mimetype_description($obj, $capitalise=false) { $a[strtoupper($key)] = strtoupper($value); $a[ucfirst($key)] = ucfirst($value); } - if (get_string_manager()->string_exists($mimetype, 'mimetypes')) { - $result = get_string($mimetype, 'mimetypes', (object)$a); - } else if (get_string_manager()->string_exists($mimetypestr, 'mimetypes')) { - $result = get_string($mimetypestr, 'mimetypes', (object)$a); + + // MIME types may include + symbol but this is not permitted in string ids. + $safemimetype = str_replace('+', '_', $mimetype); + $safemimetypestr = str_replace('+', '_', $mimetypestr); + if (get_string_manager()->string_exists($safemimetype, 'mimetypes')) { + $result = get_string($safemimetype, 'mimetypes', (object)$a); + } else if (get_string_manager()->string_exists($safemimetypestr, 'mimetypes')) { + $result = get_string($safemimetypestr, 'mimetypes', (object)$a); } else if (get_string_manager()->string_exists('default', 'mimetypes')) { $result = get_string('default', 'mimetypes', (object)$a); } else { diff --git a/pix/f/epub.png b/pix/f/epub.png new file mode 100644 index 00000000000..a660c7311b9 Binary files /dev/null and b/pix/f/epub.png differ