mirror of
https://github.com/moodle/moodle.git
synced 2025-01-18 22:08:20 +01:00
MDL-28364 handle question formats that support multiple file types
This commit is contained in:
parent
c4a12afaf9
commit
7da7bfa17d
@ -102,6 +102,20 @@ class qformat_default {
|
||||
public function export_file_extension() {
|
||||
return '.txt';
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the given file is capable of being imported by this plugin.
|
||||
*
|
||||
* Note that expensive or detailed integrity checks on the file should
|
||||
* not be performed by this method. Simple file type or magic-number tests
|
||||
* would be suitable.
|
||||
*
|
||||
* @param stored_file $file the file to check
|
||||
* @return bool whether this plugin can import the file
|
||||
*/
|
||||
public function can_import_file($file) {
|
||||
return ($file->get_mimetype() == $this->mime_type());
|
||||
}
|
||||
|
||||
// Accessor methods
|
||||
|
||||
|
@ -39,6 +39,14 @@ class qformat_blackboard_six extends qformat_default {
|
||||
function provide_import() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function can_import_file($file) {
|
||||
$mimetypes = array(
|
||||
mimeinfo('type', '.dat'),
|
||||
mimeinfo('type', '.zip')
|
||||
);
|
||||
return in_array($file->get_mimetype(), $mimetypes);
|
||||
}
|
||||
|
||||
|
||||
//Function to check and create the needed dir to unzip file to
|
||||
|
@ -133,7 +133,7 @@ class question_import_form extends moodleform {
|
||||
$qformat = new $classname();
|
||||
|
||||
$file = reset($files);
|
||||
if ($file->get_mimetype() != $qformat->mime_type()) {
|
||||
if (!$qformat->can_import_file($file)) {
|
||||
$a = new stdClass();
|
||||
$a->actualtype = $file->get_mimetype();
|
||||
$a->expectedtype = $qformat->mime_type();
|
||||
|
Loading…
x
Reference in New Issue
Block a user