/** * Tests is_extension_invalid() function. */ public function test_is_extension_invalid() { // The pdf file extension already exists in default moodle minetypes. $this->assertTrue(utils::is_extension_invalid('pdf')); // The frog extension does not. $this->assertFalse(utils::is_extension_invalid('frog')); // However you could use the pdf extension when editing the pdf extension. $this->assertFalse(utils::is_extension_invalid('pdf', 'pdf')); // Blank extension is invalid. $this->assertTrue(utils::is_extension_invalid('')); // Extensions with dot are invalid. $this->assertTrue(utils::is_extension_invalid('.frog')); }
public function validation($data, $files) { $errors = parent::validation($data, $files); // Check the extension isn't already in use. $oldextension = $data['oldextension']; $extension = trim($data['extension']); if (\tool_filetypes\utils::is_extension_invalid($extension, $oldextension)) { $errors['extension'] = get_string('error_extension', 'tool_filetypes', $extension); } // Check the 'default icon' setting doesn't conflict with an existing one. if (!empty($data['defaulticon']) && !\tool_filetypes\utils::is_defaulticon_allowed($data['mimetype'], $oldextension)) { $errors['defaulticon'] = get_string('error_defaulticon', 'tool_filetypes', $extension); } // If you choose 'lang' or 'custom' descriptiontype, you must fill something in the field. switch ($data['descriptiontype']) { case 'lang': if (!trim($data['corestring'])) { $errors['corestring'] = get_string('required'); } break; case 'custom': if (!trim($data['description'])) { $errors['description'] = get_string('required'); } break; } return $errors; }
public function validation($data, $files) { $errors = parent::validation($data, $files); // Check the extension isn't already in use. $oldextension = $data['oldextension']; $extension = trim($data['extension']); if (\tool_filetypes\utils::is_extension_invalid($extension, $oldextension)) { $errors['extension'] = get_string('error_extension', 'tool_filetypes', $extension); } // Check the 'default icon' setting doesn't conflict with an existing one. if (!empty($data['defaulticon']) && !\tool_filetypes\utils::is_defaulticon_allowed($data['mimetype'], $oldextension)) { $errors['defaulticon'] = get_string('error_defaulticon', 'tool_filetypes', $extension); } return $errors; }