diff --git a/lib/filelib.php b/lib/filelib.php index aa3798ea006..dbc1133f0a1 100644 --- a/lib/filelib.php +++ b/lib/filelib.php @@ -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); diff --git a/pix/f/moodle-128.png b/pix/f/moodle-128.png new file mode 100644 index 00000000000..6526af25f77 Binary files /dev/null and b/pix/f/moodle-128.png differ diff --git a/pix/f/moodle-24.png b/pix/f/moodle-24.png new file mode 100644 index 00000000000..3ae91550744 Binary files /dev/null and b/pix/f/moodle-24.png differ diff --git a/pix/f/moodle-256.png b/pix/f/moodle-256.png new file mode 100644 index 00000000000..2e9c09a0960 Binary files /dev/null and b/pix/f/moodle-256.png differ diff --git a/pix/f/moodle-32.png b/pix/f/moodle-32.png new file mode 100644 index 00000000000..e1f5ce31c75 Binary files /dev/null and b/pix/f/moodle-32.png differ diff --git a/pix/f/moodle-48.png b/pix/f/moodle-48.png new file mode 100644 index 00000000000..5e268d9bd37 Binary files /dev/null and b/pix/f/moodle-48.png differ diff --git a/pix/f/moodle-64.png b/pix/f/moodle-64.png new file mode 100644 index 00000000000..ea29a5c2c88 Binary files /dev/null and b/pix/f/moodle-64.png differ diff --git a/pix/f/moodle-72.png b/pix/f/moodle-72.png new file mode 100644 index 00000000000..00789f0384a Binary files /dev/null and b/pix/f/moodle-72.png differ diff --git a/pix/f/moodle-80.png b/pix/f/moodle-80.png new file mode 100644 index 00000000000..1655c007d32 Binary files /dev/null and b/pix/f/moodle-80.png differ diff --git a/pix/f/moodle-96.png b/pix/f/moodle-96.png new file mode 100644 index 00000000000..4b9b7ecae6d Binary files /dev/null and b/pix/f/moodle-96.png differ diff --git a/pix/f/moodle.png b/pix/f/moodle.png new file mode 100644 index 00000000000..70e3f1b4608 Binary files /dev/null and b/pix/f/moodle.png differ diff --git a/pix/f/xml-128.png b/pix/f/xml-128.png new file mode 100644 index 00000000000..22a5b89cf3a Binary files /dev/null and b/pix/f/xml-128.png differ diff --git a/pix/f/xml-24.png b/pix/f/xml-24.png new file mode 100644 index 00000000000..6aec93bd755 Binary files /dev/null and b/pix/f/xml-24.png differ diff --git a/pix/f/xml-256.png b/pix/f/xml-256.png new file mode 100644 index 00000000000..256e2807adb Binary files /dev/null and b/pix/f/xml-256.png differ diff --git a/pix/f/xml-32.png b/pix/f/xml-32.png new file mode 100644 index 00000000000..db4fc05d268 Binary files /dev/null and b/pix/f/xml-32.png differ diff --git a/pix/f/xml-48.png b/pix/f/xml-48.png new file mode 100644 index 00000000000..addb15e1ccd Binary files /dev/null and b/pix/f/xml-48.png differ diff --git a/pix/f/xml-64.png b/pix/f/xml-64.png new file mode 100644 index 00000000000..7e0d1ceb158 Binary files /dev/null and b/pix/f/xml-64.png differ diff --git a/pix/f/xml-72.png b/pix/f/xml-72.png new file mode 100644 index 00000000000..581586eb9a1 Binary files /dev/null and b/pix/f/xml-72.png differ diff --git a/pix/f/xml-80.png b/pix/f/xml-80.png new file mode 100644 index 00000000000..41cde23eab4 Binary files /dev/null and b/pix/f/xml-80.png differ diff --git a/pix/f/xml-96.png b/pix/f/xml-96.png new file mode 100644 index 00000000000..13e0c7994ab Binary files /dev/null and b/pix/f/xml-96.png differ diff --git a/pix/f/xml.png b/pix/f/xml.png new file mode 100644 index 00000000000..6b6035a28a8 Binary files /dev/null and b/pix/f/xml.png differ diff --git a/repository/lib.php b/repository/lib.php index bb6c4eb4d9f..4d867fd68a6 100644 --- a/repository/lib.php +++ b/repository/lib.php @@ -1728,9 +1728,8 @@ abstract class repository { or (is_array($accepted_types) and in_array('*', $accepted_types))) { return true; } else { - $extensions = file_get_typegroup('extension', $accepted_types); - foreach ($extensions as $ext) { - if (preg_match('#\.'.$ext.'$#i', $value['title'])) { + foreach ($accepted_types as $ext) { + if (preg_match('#'.$ext.'$#i', $value['title'])) { return true; } } diff --git a/repository/upload/lib.php b/repository/upload/lib.php index db029d17e26..4abad67fa4d 100644 --- a/repository/upload/lib.php +++ b/repository/upload/lib.php @@ -173,10 +173,7 @@ class repository_upload extends repository { // check filetype $filemimetype = mimeinfo('type', $_FILES[$elname]['name']); if (!in_array($filemimetype, $this->mimetypes)) { - if ($sm->string_exists($filemimetype, 'mimetypes')) { - $filemimetype = get_string($filemimetype, 'mimetypes'); - } - throw new moodle_exception('invalidfiletype', 'repository', '', $filemimetype); + throw new moodle_exception('invalidfiletype', 'repository', '', get_mimetype_description(array('filename' => $_FILES[$elname]['name']))); } } diff --git a/repository/youtube/lib.php b/repository/youtube/lib.php index 7a7c695ed5b..bc2f30461c3 100644 --- a/repository/youtube/lib.php +++ b/repository/youtube/lib.php @@ -111,17 +111,23 @@ class repository_youtube extends repository { $links = $xml->children('http://www.w3.org/2005/Atom'); foreach ($xml->entry as $entry) { $media = $entry->children('http://search.yahoo.com/mrss/'); - $title = $media->group->title; + $title = (string)$media->group->title; + $description = (string)$media->group->description; + if (empty($description)) { + $description = $title; + } $attrs = $media->group->thumbnail[2]->attributes(); $thumbnail = $attrs['url']; $arr = explode('/', $entry->id); $id = $arr[count($arr)-1]; $source = 'http://www.youtube.com/v/' . $id . '#' . $title; $list[] = array( - 'title'=>(string)$title, + 'shorttitle'=>$title, + 'thumbnail_title'=>$description, + 'title'=>$title.'.avi', // this is a hack so we accept this file by extension 'thumbnail'=>(string)$attrs['url'], - 'thumbnail_width'=>150, - 'thumbnail_height'=>120, + 'thumbnail_width'=>(int)$attrs['width'], + 'thumbnail_height'=>(int)$attrs['height'], 'size'=>'', 'date'=>'', 'source'=>$source @@ -186,7 +192,7 @@ class repository_youtube extends repository { * @return array */ public function supported_filetypes() { - return array('web_video'); + return array('video'); } /**