original_string: protected function handle_other_upload($content) {
          // Check this plugin is registered to handle this type of upload
          if (!$this->dnduploadhandler->has_type_handler($this->module->name, $this->type)) {
              $info = (object)array('modname' => $this->module->name, 'type' => $this->type);
              throw new moodle_exception('moddoesnotsupporttype', 'moodle', $info);
          }
  
          // Create a course module to hold the new instance.
          $this->create_course_module();
  
          // Ask the module to set itself up.
          $moduledata = $this->prepare_module_data(null, $content);
          $instanceid = plugin_callback('mod', $this->module->name, 'dndupload', 'handle', array($moduledata), 'invalidfunction');
          if ($instanceid === 'invalidfunction') {
              throw new coding_exception("{$this->module->name} does not support drag and drop upload (missing {$this->module->name}_dndupload_handle function");
          }
  
          // Finish setting up the course module.
          $this->finish_setup_course_module($instanceid);
      }
code: protected function handle_other_upload($content) {
          // Check this plugin is registered to handle this type of upload
          if (!$this->dnduploadhandler->has_type_handler($this->module->name, $this->type)) {
              $info = (object)array('modname' => $this->module->name, 'type' => $this->type);
              throw new moodle_exception('moddoesnotsupporttype', 'moodle', $info);
          }
  
          // Create a course module to hold the new instance.
          $this->create_course_module();
  
          // Ask the module to set itself up.
          $moduledata = $this->prepare_module_data(null, $content);
          $instanceid = plugin_callback('mod', $this->module->name, 'dndupload', 'handle', array($moduledata), 'invalidfunction');
          if ($instanceid === 'invalidfunction') {
              throw new coding_exception("{$this->module->name} does not support drag and drop upload (missing {$this->module->name}_dndupload_handle function");
          }
  
          // Finish setting up the course module.
          $this->finish_setup_course_module($instanceid);
      }
code_tokens: protected function handle_other_upload ( $ content ) { // Check this plugin is registered to handle this type of upload if ( ! $ this -> dnduploadhandler -> has_type_handler ( $ this -> module -> name , $ this -> type ) ) { $ info = ( object ) array ( 'modname' => $ this -> module -> name , 'type' => $ this -> type ) ; throw new moodle_exception ( 'moddoesnotsupporttype' , 'moodle' , $ info ) ; } // Create a course module to hold the new instance. $ this -> create_course_module ( ) ; // Ask the module to set itself up. $ moduledata = $ this -> prepare_module_data ( null , $ content ) ; $ instanceid = plugin_callback ( 'mod' , $ this -> module -> name , 'dndupload' , 'handle' , array ( $ moduledata ) , 'invalidfunction' ) ; if ( $ instanceid === 'invalidfunction' ) { throw new coding_exception ( "{$this->module->name} does not support drag and drop upload (missing {$this->module->name}_dndupload_handle function" ) ; } // Finish setting up the course module. $ this -> finish_setup_course_module ( $ instanceid ) ; }
docstring: Handle uploads not containing file - create the course module, ask the mod to
  set itself up, then return the result to the browser
  
  @param string $content the content uploaded to the browser
docstring_tokens: Handle uploads not containing file - create the course module ask the mod to set itself up then return the result to the browser