MDL-56072 filelib: Add new groups and extensions.
authorCameron Ball <cameron@moodle.com>
Fri, 23 Sep 2016 02:57:07 +0000 (10:57 +0800)
committerCameron Ball <cameron@moodle.com>
Fri, 23 Sep 2016 06:13:48 +0000 (14:13 +0800)
This patch adds the following groups:

* html_audio: For source files of <audio> tags
* html_video: For source files of <video> tags
* html_track: For source files of <track> tags

It also adds the .vtt extension for track sources, and the flac
extension.

lang/en/mimetypes.php
lib/classes/filetypes.php

index f391d1e..c2b48d7 100644 (file)
@@ -35,6 +35,7 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
+$string['application/epub_zip'] = 'EPUB ebook';
 $string['application/msword'] = 'Word document';
 $string['application/pdf'] = 'PDF document';
 $string['application/vnd.moodle.backup'] = 'Moodle backup';
@@ -45,7 +46,6 @@ $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}';
@@ -54,3 +54,5 @@ $string['image'] = 'Image ({$a->MIMETYPE2})';
 $string['text/html'] = 'HTML document';
 $string['text/plain'] = 'Text file';
 $string['text/rtf'] = 'RTF document';
+$string['text/vtt'] = 'Web Video Text Track';
+$string['video'] = 'Video file ({$a->EXT})';
index 13ee04b..bb2d2ab 100644 (file)
@@ -50,7 +50,8 @@ abstract class core_filetypes {
             '3gp' => array('type' => 'video/quicktime', 'icon' => 'quicktime', 'groups' => array('video'), 'string' => 'video'),
             '7z' => array('type' => 'application/x-7z-compressed', 'icon' => 'archive',
                     'groups' => array('archive'), 'string' => 'archive'),
-            'aac' => array('type' => 'audio/aac', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
+            'aac' => array('type' => 'audio/aac', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
             'accdb' => array('type' => 'application/msaccess', 'icon' => 'base'),
             'ai' => array('type' => 'application/postscript', 'icon' => 'eps', 'groups' => array('image'), 'string' => 'image'),
             'aif' => array('type' => 'audio/x-aiff', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
@@ -90,6 +91,8 @@ abstract class core_filetypes {
             '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'),
+            'flac' => array('type' => 'audio/flac', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
             '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'),
@@ -142,13 +145,20 @@ abstract class core_filetypes {
             'mw' => array('type' => 'application/maple', 'icon' => 'math'),
             'mws' => array('type' => 'application/maple', 'icon' => 'math'),
             'm3u' => array('type' => 'audio/x-mpegurl', 'icon' => 'mp3', 'groups' => array('audio'), 'string' => 'audio'),
-            'mp3' => array('type' => 'audio/mp3', 'icon' => 'mp3', 'groups' => array('audio', 'web_audio'), 'string' => 'audio'),
-            'mp4' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'), 'string' => 'video'),
-            'm4v' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'), 'string' => 'video'),
-            'm4a' => array('type' => 'audio/mp4', 'icon' => 'mp3', 'groups' => array('audio'), 'string' => 'audio'),
-            'mpeg' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'), 'string' => 'video'),
-            'mpe' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'), 'string' => 'video'),
-            'mpg' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('video', 'web_video'), 'string' => 'video'),
+            'mp3' => array('type' => 'audio/mp3', 'icon' => 'mp3', 'groups' => array('audio', 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
+            'mp4' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
+            'm4v' => array('type' => 'video/mp4', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
+            'm4a' => array('type' => 'audio/mp4', 'icon' => 'mp3', 'groups' => array('audio', 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
+            'mpeg' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
+            'mpe' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
+            'mpg' => array('type' => 'video/mpeg', 'icon' => 'mpeg', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
             'mpr' => array('type' => 'application/vnd.moodle.profiling', 'icon' => 'moodle'),
 
             'nbk' => array('type' => 'application/x-smarttech-notebook', 'icon' => 'archive'),
@@ -171,9 +181,12 @@ abstract class core_filetypes {
             'odf' => array('type' => 'application/vnd.oasis.opendocument.formula', 'icon' => 'math'),
             'odb' => array('type' => 'application/vnd.oasis.opendocument.database', 'icon' => 'base'),
             'odi' => array('type' => 'application/vnd.oasis.opendocument.image', 'icon' => 'draw'),
-            'oga' => array('type' => 'audio/ogg', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
-            'ogg' => array('type' => 'audio/ogg', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),
-            'ogv' => array('type' => 'video/ogg', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
+            'oga' => array('type' => 'audio/ogg', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
+            'ogg' => array('type' => 'audio/ogg', 'icon' => 'audio', 'groups' => array('audio', 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
+            'ogv' => array('type' => 'video/ogg', 'icon' => 'video', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
 
             'pct' => array('type' => 'image/pict', 'icon' => 'image', 'groups' => array('image'), 'string' => 'image'),
             'pdf' => array('type' => 'application/pdf', 'icon' => 'pdf'),
@@ -246,8 +259,11 @@ abstract class core_filetypes {
             'texinfo' => array('type' => 'application/x-texinfo', 'icon' => 'text'),
             'tsv' => array('type' => 'text/tab-separated-values', 'icon' => 'text'),
             'txt' => array('type' => 'text/plain', 'icon' => 'text', 'defaulticon' => true),
-            'wav' => array('type' => 'audio/wav', 'icon' => 'wav', 'groups' => array('audio'), 'string' => 'audio'),
-            'webm' => array('type' => 'video/webm', 'icon' => 'video', 'groups' => array('video'), 'string' => 'video'),
+            'vtt' => array('type' => 'text/vtt', 'icon' => 'text', 'groups' => array('html_track')),
+            'wav' => array('type' => 'audio/wav', 'icon' => 'wav', 'groups' => array('audio'. 'html_audio', 'web_audio'),
+                    'string' => 'audio'),
+            'webm' => array('type' => 'video/webm', 'icon' => 'video', 'groups' => array('html_video', 'video', 'web_video'),
+                    'string' => 'video'),
             'wmv' => array('type' => 'video/x-ms-wmv', 'icon' => 'wmv', 'groups' => array('video'), 'string' => 'video'),
             'asf' => array('type' => 'video/x-ms-asf', 'icon' => 'wmv', 'groups' => array('video'), 'string' => 'video'),
             'wma' => array('type' => 'audio/x-ms-wma', 'icon' => 'audio', 'groups' => array('audio'), 'string' => 'audio'),