Merge branch 'wip-files23-fixes' of git://github.com/marinaglancy/moodle
[moodle.git] / lib / filelib.php
index aa3798e..dbc1133 100644 (file)
@@ -1385,7 +1385,7 @@ function &get_mimetypes_array() {
         'dotm' => array ('type'=>'application/vnd.ms-word.template.macroEnabled.12', 'icon'=>'docx'),
 
         'dcr'  => array ('type'=>'application/x-director', 'icon'=>'flash'),
-        'dif'  => array ('type'=>'video/x-dv', 'icon'=>'video', 'groups'=>array('mov'), 'string'=>'video'),
+        'dif'  => array ('type'=>'video/x-dv', 'icon'=>'mov', 'groups'=>array('video'), 'string'=>'video'),
         'dir'  => array ('type'=>'application/x-director', 'icon'=>'flash'),
         'dxr'  => array ('type'=>'application/x-director', 'icon'=>'flash'),
         'eps'  => array ('type'=>'application/postscript', 'icon'=>'eps'),
@@ -1402,18 +1402,18 @@ function &get_mimetypes_array() {
         'hqx'  => array ('type'=>'application/mac-binhex40', 'icon'=>'zip', 'groups'=>array('archive'), 'string'=>'archive'),
         'htc'  => array ('type'=>'text/x-component', 'icon'=>'html'),
         'html' => array ('type'=>'text/html', 'icon'=>'html', 'groups'=>array('web_file')),
-        'xhtml'=> array ('type'=>'application/xhtml+xml', 'icon'=>'html'),
+        'xhtml'=> array ('type'=>'application/xhtml+xml', 'icon'=>'html', 'groups'=>array('web_file')),
         'htm'  => array ('type'=>'text/html', 'icon'=>'html', 'groups'=>array('web_file')),
         'ico'  => array ('type'=>'image/vnd.microsoft.icon', 'icon'=>'image', 'groups'=>array('image'), 'string'=>'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'=>'text'),
-        'jcl'  => array ('type'=>'text/xml', 'icon'=>'text'),
-        'jcw'  => array ('type'=>'text/xml', 'icon'=>'text'),
-        'jmt'  => array ('type'=>'text/xml', 'icon'=>'text'),
-        'jmx'  => array ('type'=>'text/xml', 'icon'=>'text'),
+        'jcb'  => array ('type'=>'text/xml', 'icon'=>'xml'),
+        'jcl'  => array ('type'=>'text/xml', 'icon'=>'xml'),
+        'jcw'  => array ('type'=>'text/xml', 'icon'=>'xml'),
+        'jmt'  => array ('type'=>'text/xml', 'icon'=>'xml'),
+        'jmx'  => array ('type'=>'text/xml', 'icon'=>'xml'),
         'jpe'  => array ('type'=>'image/jpeg', 'icon'=>'jpeg', 'groups'=>array('image', 'web_image'), 'string'=>'image'),
         'jpeg' => array ('type'=>'image/jpeg', 'icon'=>'jpeg', 'groups'=>array('image', 'web_image'), 'string'=>'image'),
         'jpg'  => array ('type'=>'image/jpeg', 'icon'=>'jpeg', 'groups'=>array('image', 'web_image'), 'string'=>'image'),
@@ -1433,10 +1433,10 @@ function &get_mimetypes_array() {
         'mpe'  => array ('type'=>'video/mpeg', 'icon'=>'mpeg', 'groups'=>array('video'), 'string'=>'video'),
         'mpg'  => array ('type'=>'video/mpeg', 'icon'=>'mpeg', 'groups'=>array('video'), 'string'=>'video'),
 
-        'odt'  => array ('type'=>'application/vnd.oasis.opendocument.text', 'icon'=>'odt', 'groups'=>array('odt')),
-        'ott'  => array ('type'=>'application/vnd.oasis.opendocument.text-template', 'icon'=>'odt', 'groups'=>array('odt')),
-        'oth'  => array ('type'=>'application/vnd.oasis.opendocument.text-web', 'icon'=>'odt', 'groups'=>array('odh')),
-        'odm'  => array ('type'=>'application/vnd.oasis.opendocument.text-master', 'icon'=>'odh'),
+        'odt'  => array ('type'=>'application/vnd.oasis.opendocument.text', 'icon'=>'odt', 'groups'=>array('document')),
+        'ott'  => array ('type'=>'application/vnd.oasis.opendocument.text-template', 'icon'=>'odt', 'groups'=>array('document')),
+        'oth'  => array ('type'=>'application/vnd.oasis.opendocument.text-web', 'icon'=>'oth', 'groups'=>array('document')),
+        'odm'  => array ('type'=>'application/vnd.oasis.opendocument.text-master', 'icon'=>'odt'),
         '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'),
@@ -1595,22 +1595,22 @@ function mimeinfo_from_type($element, $mimetype) {
         foreach($mimeinfo as $filetype => $values) {
             if ($values['type'] == $mimetype) {
                 if ($cached[$mimetype] === null) {
-                    $cached[$mimetype] = $filetype;
+                    $cached[$mimetype] = '.'.$filetype;
                 }
                 if (!empty($values['defaulticon'])) {
-                    $cached[$mimetype] = $filetype;
+                    $cached[$mimetype] = '.'.$filetype;
                     break;
                 }
             }
         }
         if (empty($cached[$mimetype])) {
-            $cached[$mimetype] = 'xxx';
+            $cached[$mimetype] = '.xxx';
         }
     }
     if ($element === 'extension') {
         return $cached[$mimetype];
     } else {
-        return mimeinfo($element, '.'.$cached[$mimetype]);
+        return mimeinfo($element, $cached[$mimetype]);
     }
 }
 
@@ -1831,7 +1831,7 @@ function file_get_typegroup($element, $groups) {
             $mimeinfo = & get_mimetypes_array();
             $cached[$element][$group] = array();
             foreach ($mimeinfo as $extension => $value) {
-                $value['extension'] = $extension;
+                $value['extension'] = '.'.$extension;
                 if (empty($value[$element])) {
                     continue;
                 }
@@ -1859,7 +1859,7 @@ function file_get_typegroup($element, $groups) {
  */
 function file_extension_in_typegroup($filename, $groups, $checktype = false) {
     $extension = pathinfo($filename, PATHINFO_EXTENSION);
-    if (!empty($extension) && in_array(strtolower($extension), file_get_typegroup('extension', $groups))) {
+    if (!empty($extension) && in_array('.'.strtolower($extension), file_get_typegroup('extension', $groups))) {
         return true;
     }
     return $checktype && file_mimetype_in_typegroup(mimeinfo('type', $filename), $groups);