예제 #1
0
 /**
  * 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'));
 }
예제 #2
0
 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;
 }
예제 #3
0
 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;
 }