$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}';
'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'),
$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 {