$settings->add($pseudoselect);
 if (isset($config->enablepseudo) and $config->enablepseudo) {
     $settings->add(new admin_setting_configtext('turnitintooltwo/pseudofirstname', get_string('pseudofirstname', 'turnitintooltwo'), get_string('pseudofirstname_desc', 'turnitintooltwo'), TURNITINTOOLTWO_DEFAULT_PSEUDO_FIRSTNAME));
     $lnoptions = array(0 => get_string('user'));
     $userprofiles = $DB->get_records('user_info_field');
     foreach ($userprofiles as $profile) {
         $lnoptions[$profile->id] = get_string('profilefield', 'admin') . ': ' . $profile->name;
     }
     $settings->add(new admin_setting_configselect('turnitintooltwo/pseudolastname', get_string('pseudolastname', 'turnitintooltwo'), get_string('pseudolastname_desc', 'turnitintooltwo'), 0, $lnoptions));
     $settings->add(new admin_setting_configselect('turnitintooltwo/lastnamegen', get_string('psuedolastnamegen', 'turnitintooltwo'), get_string('psuedolastnamegen_desc', 'turnitintooltwo'), 0, $ynoptions));
     $settings->add(new admin_setting_configtext('turnitintooltwo/pseudosalt', get_string('pseudoemailsalt', 'turnitintooltwo'), get_string('pseudoemailsalt_desc', 'turnitintooltwo'), ''));
     $settings->add(new admin_setting_configtext('turnitintooltwo/pseudoemaildomain', get_string('pseudoemaildomain', 'turnitintooltwo'), get_string('pseudoemaildomain_desc', 'turnitintooltwo'), ''));
 }
 // Following are default values for new instance.
 $settings->add(new admin_setting_heading('turnitintooltwo/defaults', get_string('defaults', 'turnitintooltwo'), get_string('defaults_desc', 'turnitintooltwo')));
 $settings->add(new admin_setting_configselect('turnitintooltwo/default_type', get_string('type', 'turnitintooltwo'), '', 0, turnitintooltwo_filetype_array()));
 $settings->add(new admin_setting_configselect('turnitintooltwo/default_numparts', get_string('numberofparts', 'turnitintooltwo'), '', 1, array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5)));
 $options = array();
 $scales = get_scales_menu();
 foreach ($scales as $value => $scale) {
     $options[-$value] = $scale;
 }
 for ($i = 100; $i >= 1; $i--) {
     $options[$i] = $i;
 }
 $settings->add(new admin_setting_configselect('turnitintooltwo/default_grade', get_string('overallgrade', 'turnitintooltwo'), '', 100, $options));
 if (!empty($config->useanon) && $current_section == 'modsettingturnitintooltwo') {
     $settings->add(new admin_setting_configselect('turnitintooltwo/default_anon', get_string('anon', 'turnitintooltwo'), '', 0, $ynoptions));
 }
 if (!empty($config->transmatch) && $current_section == 'modsettingturnitintooltwo') {
     $settings->add(new admin_setting_configselect('turnitintooltwo/default_transmatch', get_string('transmatch', 'turnitintooltwo'), '', 0, $ynoptions));
 public function show_form($instructorrubrics, $modulestring = '', $tiicourseid)
 {
     global $CFG, $OUTPUT, $COURSE, $PAGE;
     $PAGE->requires->string_for_js('changerubricwarning', 'turnitintooltwo');
     $PAGE->requires->string_for_js('closebutton', 'turnitintooltwo');
     $config = turnitintooltwo_admin_config();
     $mform =& $this->_form;
     $script = '';
     // Add in custom Javascript and CSS.
     if ($CFG->branch <= 25) {
         $script .= html_writer::tag('script', '', array("type" => "text/javascript", "src" => $CFG->wwwroot . "/mod/turnitintooltwo/jquery/jquery-1.8.2.min.js"));
         $script .= html_writer::tag('script', '', array("id" => "plugin_turnitin_script", "type" => "text/javascript", "src" => $CFG->wwwroot . "/mod/turnitintooltwo/jquery/turnitintooltwo.min.js"));
         $script .= html_writer::tag('script', '', array("type" => "text/javascript", "src" => $CFG->wwwroot . "/mod/turnitintooltwo/jquery/jquery-ui-1.10.4.custom.min.js"));
         $script .= html_writer::tag('script', '', array("type" => "text/javascript", "src" => $CFG->wwwroot . "/mod/turnitintooltwo/jquery/jquery.colorbox.js"));
         $script .= html_writer::tag('script', '', array("type" => "text/javascript", "src" => $CFG->wwwroot . "/mod/turnitintooltwo/jquery/jquery.colorbox.js"));
         $script .= html_writer::tag('script', '', array("type" => "text/javascript", "src" => $CFG->wwwroot . "/mod/turnitintooltwo/jquery/moment.js"));
     } else {
         $PAGE->requires->jquery();
         $PAGE->requires->jquery_plugin('ui');
         $PAGE->requires->jquery_plugin('turnitintooltwo-turnitintooltwo', 'mod_turnitintooltwo');
         $PAGE->requires->jquery_plugin('turnitintooltwo-colorbox', 'mod_turnitintooltwo');
         $PAGE->requires->jquery_plugin('turnitintooltwo-moment', 'mod_turnitintooltwo');
     }
     $PAGE->requires->string_for_js('anonalert', 'turnitintooltwo');
     $script .= html_writer::tag('link', '', array("rel" => "stylesheet", "type" => "text/css", "href" => $CFG->wwwroot . "/mod/turnitintooltwo/styles.css"));
     $script .= html_writer::tag('link', '', array("rel" => "stylesheet", "type" => "text/css", "href" => $CFG->wwwroot . "/mod/turnitintooltwo/css/colorbox.css"));
     $script .= html_writer::tag('link', '', array("rel" => "stylesheet", "type" => "text/css", "href" => $CFG->wwwroot . "/mod/turnitintooltwo/css/tii-icon-webfont.css"));
     $mform->addElement('html', $script);
     $config_warning = '';
     if (empty($config->accountid) || empty($config->secretkey) || empty($config->apiurl)) {
         $config_warning = html_writer::tag('div', get_string('configureerror', 'turnitintooltwo'), array('class' => 'library_not_present_warning'));
     }
     if ($config_warning != '') {
         $mform->addElement('html', $config_warning);
     }
     $noscript = html_writer::tag('noscript', get_string('noscript', 'turnitintooltwo'), array("class" => "warning"));
     $mform->addElement('html', $noscript);
     if (isset($_SESSION["notice"])) {
         $notice = $_SESSION["notice"];
         if (empty($_SESSION["notice"]["type"])) {
             $notice["type"] = "general";
         }
         unset($_SESSION["notice"]);
     } else {
         $notice = null;
     }
     if (!is_null($notice)) {
         $mform->addElement('html', $OUTPUT->box($notice["message"], 'generalbox', $notice["type"]));
     }
     $mform->addElement('header', 'general', get_string('general', 'form'));
     $mform->addElement('text', 'name', get_string('turnitintooltwoname', 'turnitintooltwo'), array('size' => '64'));
     $mform->setType('name', PARAM_RAW);
     $mform->addRule('name', null, 'required', null, 'client');
     $input = new stdClass();
     $input->length = 40;
     $input->field = get_string('turnitintooltwoname', 'turnitintooltwo');
     $mform->addRule('name', get_string('maxlength', 'turnitintooltwo', $input), 'maxlength', 40, 'client');
     $mform->addRule('name', get_string('maxlength', 'turnitintooltwo', $input), 'maxlength', 40, 'server');
     if ($CFG->branch >= 29) {
         $this->standard_intro_elements(get_string('turnitintooltwointro', 'turnitintooltwo'));
     } else {
         $this->add_intro_editor(true, get_string('turnitintooltwointro', 'turnitintooltwo'));
     }
     $typeoptions = turnitintooltwo_filetype_array(true);
     $mform->addElement('select', 'type', get_string('type', 'turnitintooltwo'), $typeoptions);
     $mform->addHelpButton('type', 'types', 'turnitintooltwo');
     $mform->addRule('type', get_string('required'), 'required', null, 'client');
     $mform->setDefault('type', $config->default_type);
     $options = array();
     if ($this->updating) {
         $j = $this->current->numparts;
     } else {
         $j = 1;
     }
     for ($i = $j; $i <= 5; $i++) {
         $options[$i] = $i;
     }
     $mform->addElement('select', 'numparts', get_string('numberofparts', 'turnitintooltwo'), $options);
     $mform->addHelpButton('numparts', 'numberofparts', 'turnitintooltwo');
     $mform->setDefault('numparts', $config->default_numparts);
     $mform->addElement('hidden', 'portfolio', 0);
     $mform->setType('portfolio', PARAM_INT);
     $maxbytessite = $CFG->maxbytes == 0 || $CFG->maxbytes > TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE ? TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE : $CFG->maxbytes;
     $maxbytescourse = $COURSE->maxbytes == 0 || $COURSE->maxbytes > TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE ? TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE : $COURSE->maxbytes;
     $options = get_max_upload_sizes($maxbytessite, $maxbytescourse, TURNITINTOOLTWO_MAX_FILE_UPLOAD_SIZE);
     $mform->addElement('select', 'maxfilesize', get_string('maxfilesize', 'turnitintooltwo'), $options);
     $mform->addHelpButton('maxfilesize', 'maxfilesize', 'turnitintooltwo');
     unset($options);
     for ($i = 0; $i <= 100; $i++) {
         $options[$i] = $i;
     }
     $ynoptions = array(0 => get_string('no'), 1 => get_string('yes'));
     if ($this->updating and $config->useanon and isset($this->turnitintooltwo->anon) and $this->turnitintooltwo->submitted == 1) {
         $staticout = (isset($this->turnitintooltwo->anon) and $this->turnitintooltwo->anon) ? get_string('yes') : get_string('no');
         $mform->addElement('static', 'static', get_string('turnitinanon', 'turnitintooltwo'), $staticout);
         $mform->addElement('hidden', 'anon', $this->turnitintooltwo->anon);
         $mform->addHelpButton('anon', 'turnitinanon', 'turnitintooltwo');
     } else {
         if ($config->useanon) {
             $mform->addElement('select', 'anon', get_string('turnitinanon', 'turnitintooltwo'), $ynoptions);
             $mform->addHelpButton('anon', 'turnitinanon', 'turnitintooltwo');
             $anondefault = isset($config->default_anon) ? $config->default_anon : 0;
             $mform->setDefault('anon', $anondefault);
         } else {
             $mform->addElement('hidden', 'anon', 0);
         }
     }
     $mform->setType('anon', PARAM_INT);
     $mform->addElement('select', 'allownonor', get_string('allownonor', 'turnitintooltwo'), $ynoptions);
     $mform->addHelpButton('allownonor', 'allownonor', 'turnitintooltwo');
     $mform->setDefault('allownonor', $config->default_allownonor);
     $mform->addElement('select', 'studentreports', get_string('studentreports', 'turnitintooltwo'), $ynoptions);
     $mform->addHelpButton('studentreports', 'studentreports', 'turnitintooltwo');
     $mform->setDefault('studentreports', $config->default_studentreports);
     $gradedisplayoptions = array(1 => get_string('displaygradesaspercent', 'turnitintooltwo'), 2 => get_string('displaygradesasfraction', 'turnitintooltwo'));
     $mform->addElement('select', 'gradedisplay', get_string('displaygradesas', 'turnitintooltwo'), $gradedisplayoptions);
     $mform->addHelpButton('gradedisplay', 'displaygradesas', 'turnitintooltwo');
     $mform->setDefault('gradedisplay', $config->default_gradedisplay);
     $refreshoptions = array(1 => get_string('yesgrades', 'turnitintooltwo'), 0 => get_string('nogrades', 'turnitintooltwo'));
     $mform->addElement('select', 'autoupdates', get_string('autorefreshgrades', 'turnitintooltwo'), $refreshoptions);
     $mform->addHelpButton('autoupdates', 'autorefreshgrades', 'turnitintooltwo');
     $mform->setDefault('autoupdates', 1);
     $mform->addElement('checkbox', 'set_instructor_defaults', '', " " . get_string('setinstructordefaults', 'turnitintooltwo'));
     $mform->setDefault('set_instructor_defaults', false);
     $mform->addHelpButton('set_instructor_defaults', 'setinstructordefaults', 'turnitintooltwo');
     $dateoptions = array('startyear' => date('Y', strtotime('-6 years')), 'stopyear' => date('Y', strtotime('+6 years')), 'timezone' => 99, 'applydst' => true, 'step' => 1, 'optional' => false);
     $this->standard_grading_coursemodule_elements();
     if (isset($this->_cm->id)) {
         $turnitintooltwoassignment = new turnitintooltwo_assignment($this->_cm->instance);
         $parts = $turnitintooltwoassignment->get_parts();
         $partsArray = array();
         foreach ($parts as $key => $value) {
             $partsArray[] = $value;
         }
     }
     for ($i = 1; $i <= 5; $i++) {
         $mform->addElement('header', 'partdates' . $i, get_string('partname', 'turnitintooltwo') . " " . $i);
         if (isset($this->_cm->id) && isset($partsArray[$i - 1])) {
             $partdetails = $turnitintooltwoassignment->get_part_details($partsArray[$i - 1]->id);
             $mform->addElement('html', '<div class="assignment-part-' . $i . '" data-anon="' . $turnitintooltwoassignment->turnitintooltwo->anon . '" data-unanon="' . $partdetails->unanon . '" data-submitted="' . $partdetails->submitted . '" data-part-id="' . $i . '">');
         }
         // Delete part link.
         if ($this->updating && $this->current->numparts > 1 && $i <= $this->current->numparts) {
             $attributes = array('class' => 'delete_link');
             $numsubsattribute = "numsubs" . $i;
             if ($this->current->{$numsubsattribute} > 0) {
                 $fnd = array("\n", "\r");
                 $rep = array('\\n', '\\r');
                 $string = str_replace($fnd, $rep, get_string('partdeletewarning', 'turnitintooltwo'));
                 $attributes["onclick"] = "return confirm('" . $string . "');";
             }
             $partidattribute = "id" . $i;
             $url = new moodle_url($CFG->wwwroot . "/mod/turnitintooltwo/view.php", array('id' => $this->_cm->id, 'action' => 'delpart', 'part' => $this->current->{$partidattribute}, 'sesskey' => sesskey()));
             $deletelink = html_writer::link($url, get_string('deletepart', 'turnitintooltwo') . " " . $OUTPUT->pix_icon('delete', get_string('delete'), 'mod_turnitintooltwo'), $attributes);
             $mform->addElement('html', $deletelink);
         }
         $mform->addElement('text', 'partname' . $i, get_string('name'));
         $mform->setType('partname' . $i, PARAM_RAW);
         $mform->setDefault('partname' . $i, get_string('turnitinpart', 'turnitintooltwo', $i));
         $mform->addRule('partname' . $i, null, 'required', null, 'client');
         $input = new stdClass();
         $input->length = 40;
         $input->field = get_string('partname', 'turnitintooltwo') . " " . get_string('name');
         $mform->addRule('partname' . $i, get_string('maxlength', 'turnitintooltwo', $input), 'maxlength', 40, 'client');
         $mform->addRule('partname' . $i, get_string('maxlength', 'turnitintooltwo', $input), 'maxlength', 40, 'server');
         $mform->addElement('date_time_selector', 'dtstart' . $i, get_string('dtstart', 'turnitintooltwo'), $dateoptions);
         $mform->setDefault('dtstart' . $i, time());
         $mform->addElement('date_time_selector', 'dtdue' . $i, get_string('dtdue', 'turnitintooltwo'), $dateoptions);
         $mform->setDefault('dtdue' . $i, strtotime('+7 days'));
         $mform->addElement('date_time_selector', 'dtpost' . $i, get_string('dtpost', 'turnitintooltwo'), $dateoptions);
         $mform->setDefault('dtpost' . $i, strtotime('+7 days'));
         $mform->addElement('text', 'maxmarks' . $i, get_string('maxmarks', 'turnitintooltwo'));
         $mform->setType('maxmarks' . $i, PARAM_INT);
         $mform->setDefault('maxmarks' . $i, '100');
         $mform->addRule('maxmarks' . $i, null, 'numeric', null, 'client');
     }
     $mform->addElement('header', 'advanced', get_string('turnitinoroptions', 'turnitintooltwo'));
     $mform->addElement('select', 'allowlate', get_string('allowlate', 'turnitintooltwo'), $ynoptions);
     $mform->setDefault('allowlate', $config->default_allowlate);
     $genoptions = array(0 => get_string('genimmediately1', 'turnitintooltwo'), 1 => get_string('genimmediately2', 'turnitintooltwo'), 2 => get_string('genduedate', 'turnitintooltwo'));
     $mform->addElement('select', 'reportgenspeed', get_string('reportgenspeed', 'turnitintooltwo'), $genoptions);
     $mform->addHelpButton('reportgenspeed', 'reportgenspeed', 'turnitintooltwo');
     $mform->setDefault('reportgenspeed', $config->default_reportgenspeed);
     $mform->addElement('html', html_writer::tag('div', get_string('genspeednote', 'turnitintooltwo'), array('class' => 'tii_genspeednote')));
     $suboptions = array(0 => get_string('norepository', 'turnitintooltwo'), 1 => get_string('standardrepository', 'turnitintooltwo'));
     switch ($config->repositoryoption) {
         case 0:
             // Standard options
             $mform->addElement('select', 'submitpapersto', get_string('submitpapersto', 'turnitintooltwo'), $suboptions);
             $mform->addHelpButton('submitpapersto', 'submitpapersto', 'turnitintooltwo');
             $mform->setDefault('submitpapersto', $config->default_submitpapersto);
             break;
         case 1:
             // Standard options + Allow Instituional Repository
             $suboptions[2] = get_string('institutionalrepository', 'turnitintooltwo');
             $mform->addElement('select', 'submitpapersto', get_string('submitpapersto', 'turnitintooltwo'), $suboptions);
             $mform->addHelpButton('submitpapersto', 'submitpapersto', 'turnitintooltwo');
             $mform->setDefault('submitpapersto', $config->default_submitpapersto);
             break;
         case 2:
             // Force Standard Repository
             $mform->addElement('hidden', 'submitpapersto', 1);
             $mform->setType('submitpapersto', PARAM_RAW);
             break;
         case 3:
             // Force No Repository
             $mform->addElement('hidden', 'submitpapersto', 0);
             $mform->setType('submitpapersto', PARAM_RAW);
             break;
     }
     $mform->addElement('html', html_writer::tag('div', get_string('checkagainstnote', 'turnitintooltwo'), array('class' => 'tii_checkagainstnote')));
     $mform->addElement('select', 'spapercheck', get_string('spapercheck', 'turnitintooltwo'), $ynoptions);
     $mform->addHelpButton('spapercheck', 'spapercheck', 'turnitintooltwo');
     $mform->setDefault('spapercheck', $config->default_spapercheck);
     $mform->addElement('select', 'internetcheck', get_string('internetcheck', 'turnitintooltwo'), $ynoptions);
     $mform->addHelpButton('internetcheck', 'internetcheck', 'turnitintooltwo');
     $mform->setDefault('internetcheck', $config->default_internetcheck);
     $mform->addElement('select', 'journalcheck', get_string('journalcheck', 'turnitintooltwo'), $ynoptions);
     $mform->addHelpButton('journalcheck', 'journalcheck', 'turnitintooltwo');
     $mform->setDefault('journalcheck', $config->default_journalcheck);
     if ($config->repositoryoption == "1") {
         $mform->addElement('select', 'institution_check', get_string('institutionalcheck', 'turnitintooltwo'), $ynoptions);
         $mform->setDefault('institution_check', $config->default_institutioncheck);
     }
     if ($this->numsubs > 0) {
         $staticout = (isset($this->turnitintooltwo->excludebiblio) and $this->turnitintooltwo->excludebiblio) ? get_string('yes') : get_string('no');
         $mform->addElement('static', 'static', get_string('excludebiblio', 'turnitintooltwo'), $staticout);
         $mform->addElement('hidden', 'excludebiblio', $this->turnitintooltwo->excludebiblio);
         $staticout = (isset($this->turnitintooltwo->excludequoted) and $this->turnitintooltwo->excludequoted) ? get_string('yes') : get_string('no');
         $mform->addElement('static', 'static', get_string('excludequoted', 'turnitintooltwo'), $staticout);
         $mform->addElement('hidden', 'excludequoted', $this->turnitintooltwo->excludequoted);
         $staticout = (isset($this->turnitintooltwo->excludetype) and $this->turnitintooltwo->excludetype == 1) ? get_string('excludewords', 'turnitintooltwo') : get_string('excludepercent', 'turnitintooltwo');
         $staticval = (isset($this->turnitintooltwo->excludevalue) and empty($this->turnitintooltwo->excludevalue)) ? get_string('nolimit', 'turnitintooltwo') : $this->turnitintooltwo->excludevalue . ' ' . $staticout;
         $mform->addElement('static', 'static', get_string('excludevalue', 'turnitintooltwo'), $staticval);
         $mform->addElement('hidden', 'excludevalue', $this->turnitintooltwo->excludevalue);
         $mform->addElement('hidden', 'excludetype', $this->turnitintooltwo->excludetype);
     } else {
         $mform->addElement('select', 'excludebiblio', get_string('excludebiblio', 'turnitintooltwo'), $ynoptions);
         $mform->addHelpButton('excludebiblio', 'excludebiblio', 'turnitintooltwo');
         $mform->setDefault('excludebiblio', $config->default_excludebiblio);
         $mform->addElement('select', 'excludequoted', get_string('excludequoted', 'turnitintooltwo'), $ynoptions);
         $mform->addHelpButton('excludequoted', 'excludequoted', 'turnitintooltwo');
         $mform->setDefault('excludequoted', $config->default_excludequoted);
         $mform->addElement('text', 'excludevalue', get_string('excludevalue', 'turnitintooltwo'), array('size' => '12'));
         $mform->addHelpButton('excludevalue', 'excludevalue', 'turnitintooltwo');
         $input = new stdClass();
         $input->length = 9;
         $input->field = get_string('excludevalue', 'turnitintooltwo');
         $mform->addRule('excludevalue', get_string('maxlength', 'turnitintooltwo', $input), 'maxlength', 9, 'client');
         $mform->addRule('excludevalue', get_string('maxlength', 'turnitintooltwo', $input), 'maxlength', 9, 'server');
         $mform->addRule('excludevalue', null, 'numeric', null, 'client');
         $mform->addRule('excludevalue', null, 'numeric', null, 'server');
         $typeoptions = array(1 => get_string('excludewords', 'turnitintooltwo'), 2 => get_string('excludepercent', 'turnitintooltwo'));
         $mform->addElement('select', 'excludetype', '', $typeoptions);
         $mform->setDefault('excludetype', 1);
     }
     $mform->setType('excludebiblio', PARAM_RAW);
     $mform->setType('excludequoted', PARAM_RAW);
     $mform->setType('excludevalue', PARAM_RAW);
     $mform->setType('excludetype', PARAM_RAW);
     if (isset($config->transmatch) && $config->transmatch == '1') {
         $mform->addElement('select', 'transmatch', get_string('transmatch', 'turnitintooltwo'), $ynoptions);
         $mform->setDefault('transmatch', $config->default_transmatch);
     }
     // Populate Rubric options.
     if (!empty($config->usegrademark)) {
         $mform->addElement('header', 'advanced', get_string('turnitingmoptions', 'turnitintooltwo'));
         $rubricoptions = array('' => get_string('norubric', 'turnitintooltwo')) + $instructorrubrics;
         if (!empty($this->turnitintooltwo->rubric)) {
             $rubricoptions[$this->turnitintooltwo->rubric] = isset($rubricoptions[$this->turnitintooltwo->rubric]) ? $rubricoptions[$this->turnitintooltwo->rubric] : get_string('otherrubric', 'turnitintooltwo');
         }
         $rubricline = array();
         $rubricline[] = $mform->createElement('select', 'rubric', '', $rubricoptions);
         $rubricline[] = $mform->createElement('static', 'rubric_link', '', html_writer::link($CFG->wwwroot . '/mod/turnitintooltwo/extras.php?' . 'cmd=rubricmanager&tiicourseid=' . $tiicourseid . '&view_context=box', html_writer::tag('i', '', array('class' => 'tiiicon icon-rubric icon-lg icon_margin')) . get_string('launchrubricmanager', 'turnitintooltwo'), array('class' => 'rubric_manager_launch', 'title' => get_string('launchrubricmanager', 'turnitintooltwo'))) . html_writer::tag('span', '', array('class' => 'launch_form', 'id' => 'rubric_manager_form')));
         $mform->setDefault('rubric', '');
         $mform->addGroup($rubricline, 'rubricline', get_string('attachrubric', 'turnitintooltwo'), array(' '), false);
         $mform->addElement('hidden', 'rubric_warning_seen', '');
         $mform->setType('rubric_warning_seen', PARAM_RAW);
         $mform->addElement('static', 'rubric_note', '', get_string('attachrubricnote', 'turnitintooltwo'));
     } else {
         $mform->addElement('hidden', 'rubric', '');
         $mform->setType('rubric', PARAM_RAW);
     }
     if (!empty($config->usegrademark) && !empty($config->useerater)) {
         $handbookoptions = array(1 => get_string('erater_handbook_advanced', 'turnitintooltwo'), 2 => get_string('erater_handbook_highschool', 'turnitintooltwo'), 3 => get_string('erater_handbook_middleschool', 'turnitintooltwo'), 4 => get_string('erater_handbook_elementary', 'turnitintooltwo'), 5 => get_string('erater_handbook_learners', 'turnitintooltwo'));
         $dictionaryoptions = array('en_US' => get_string('erater_dictionary_enus', 'turnitintooltwo'), 'en_GB' => get_string('erater_dictionary_engb', 'turnitintooltwo'), 'en' => get_string('erater_dictionary_en', 'turnitintooltwo'));
         $mform->addElement('select', 'erater', get_string('erater', 'turnitintooltwo'), $ynoptions);
         $mform->setDefault('erater', $config->default_erater);
         $mform->addElement('select', 'erater_handbook', get_string('erater_handbook', 'turnitintooltwo'), $handbookoptions);
         $mform->setDefault('erater_handbook', $config->default_erater_handbook);
         $mform->disabledIf('erater_handbook', 'erater', 'eq', 0);
         $mform->addElement('select', 'erater_dictionary', get_string('erater_dictionary', 'turnitintooltwo'), $dictionaryoptions);
         $mform->setDefault('erater_dictionary', $config->default_erater_dictionary);
         $mform->disabledIf('erater_dictionary', 'erater', 'eq', 0);
         $mform->addElement('checkbox', 'erater_spelling', get_string('erater_categories', 'turnitintooltwo'), " " . get_string('erater_spelling', 'turnitintooltwo'));
         $mform->setDefault('erater_spelling', $config->default_erater_spelling);
         $mform->disabledIf('erater_spelling', 'erater', 'eq', 0);
         $mform->addElement('checkbox', 'erater_grammar', '', " " . get_string('erater_grammar', 'turnitintooltwo'));
         $mform->setDefault('erater_grammar', $config->default_erater_grammar);
         $mform->disabledIf('erater_grammar', 'erater', 'eq', 0);
         $mform->addElement('checkbox', 'erater_usage', '', " " . get_string('erater_usage', 'turnitintooltwo'));
         $mform->setDefault('erater_usage', $config->default_erater_usage);
         $mform->disabledIf('erater_usage', 'erater', 'eq', 0);
         $mform->addElement('checkbox', 'erater_mechanics', '', " " . get_string('erater_mechanics', 'turnitintooltwo'));
         $mform->setDefault('erater_mechanics', $config->default_erater_mechanics);
         $mform->disabledIf('erater_mechanics', 'erater', 'eq', 0);
         $mform->addElement('checkbox', 'erater_style', '', " " . get_string('erater_style', 'turnitintooltwo'));
         $mform->setDefault('erater_style', $config->default_erater_style);
         $mform->disabledIf('erater_style', 'erater', 'eq', 0);
     }
     $mform->addElement('hidden', 'ownerid', null);
     $mform->setType('ownerid', PARAM_RAW);
     $mform->addElement('html', $modulestring);
     $features = new stdClass();
     $features->groups = true;
     $features->groupings = true;
     $features->groupmembersonly = true;
     $this->standard_coursemodule_elements($features);
     $this->add_action_buttons();
 }