diff --git a/files/classes/converter.php b/files/classes/converter.php index 32793d3485e..da8c5ba0cbd 100644 --- a/files/classes/converter.php +++ b/files/classes/converter.php @@ -127,7 +127,7 @@ class converter { if ($status === conversion::STATUS_PENDING || $status === conversion::STATUS_FAILED) { // The current status is either pending or failed. // Attempt to pick up a new converter and convert the document. - $from = \core_filetypes::get_file_extension($file->get_mimetype()); + $from = pathinfo($file->get_filename(), PATHINFO_EXTENSION); $converters = $this->get_document_converter_classes($from, $format); $currentconverter = $this->get_next_converter($converters, $conversion->get('converter')); @@ -225,9 +225,9 @@ class converter { return false; } - $from = \core_filetypes::get_file_extension($file->get_mimetype()); + $from = pathinfo($file->get_filename(), PATHINFO_EXTENSION); if (!$from) { - // No mime type could be found. Unable to determine converter. + // No file extension could be found. Unable to determine converter. return false; } diff --git a/files/tests/converter_test.php b/files/tests/converter_test.php index 950d5932df0..e345c1e40d9 100644 --- a/files/tests/converter_test.php +++ b/files/tests/converter_test.php @@ -341,7 +341,7 @@ class core_files_converter_testcase extends advanced_testcase { } /** - * Test the can_convert_storedfile_to function with a file with indistinguished mimetype. + * Test the can_convert_storedfile_to function with a file with a known mimetype and extension. */ public function test_can_convert_storedfile_to_docx() { $returnvalue = (object) []; @@ -352,8 +352,7 @@ class core_files_converter_testcase extends advanced_testcase { $types = \core_filetypes::get_types(); - // A file with filename '.' is a directory. - $file = $this->get_stored_file('example content', 'example', [ + $file = $this->get_stored_file('example content', 'example.docx', [ 'mimetype' => $types['docx']['type'], ]);