public function definition()
 {
     $mform =& $this->_form;
     turnitin_get_form_elements($mform);
     $this->add_action_buttons(true);
 }
 public function get_form_elements_module($mform, $context)
 {
     global $CFG, $DB;
     if (!$this->get_settings()) {
         return;
     }
     $cmid = optional_param('update', 0, PARAM_INT);
     //there doesn't seem to be a way to obtain the current cm a better way - $this->_cm is not available here.
     if (!empty($cmid)) {
         $plagiarismvalues = $DB->get_records_menu('plagiarism_turnitin_config', array('cm' => $cmid), '', 'name,value');
     }
     $plagiarismdefaults = $DB->get_records_menu('plagiarism_turnitin_config', array('cm' => 0), '', 'name,value');
     //cmid(0) is the default list.
     $plagiarismelements = $this->config_options();
     if (has_capability('plagiarism/turnitin:enable', $context)) {
         turnitin_get_form_elements($mform);
         if ($mform->elementExists('plagiarism_draft_submit')) {
             $mform->disabledIf('plagiarism_draft_submit', 'var4', 'eq', 0);
         }
         //disable all plagiarism elements if use_plagiarism eg 0
         foreach ($plagiarismelements as $element) {
             if ($element != 'use_turnitin') {
                 //ignore this var
                 $mform->disabledIf($element, 'use_turnitin', 'eq', 0);
             }
         }
         //check if files have already been submitted and disable exclude biblio and quoted if turnitin is enabled.
         if ($DB->record_exists('plagiarism_turnitin_files', array('cm' => $cmid))) {
             $mform->disabledIf('plagiarism_exclude_biblio', 'use_turnitin');
             $mform->disabledIf('plagiarism_exclude_quoted', 'use_turnitin');
         }
     } else {
         //add plagiarism settings as hidden vars.
         foreach ($plagiarismelements as $element) {
             $mform->addElement('hidden', $element);
         }
     }
     //now set defaults.
     foreach ($plagiarismelements as $element) {
         if (isset($plagiarismvalues[$element])) {
             $mform->setDefault($element, $plagiarismvalues[$element]);
         } else {
             if (isset($plagiarismdefaults[$element])) {
                 $mform->setDefault($element, $plagiarismdefaults[$element]);
             }
         }
     }
 }