/** * Edit the submission in Turnitin so a tutor can see the identity of the student * * @param string $reason * @return boolean */ public function unanonymise_submission($reason) { // Get user and part details. $turnitintooltwoassignment = new turnitintooltwo_assignment($this->turnitintooltwoid); $partdetails = $turnitintooltwoassignment->get_part_details($this->submission_part); $user = new turnitintooltwo_user($this->userid); // Initialise Comms Object. $turnitincomms = new turnitintooltwo_comms(); $turnitincall = $turnitincomms->initialise_api(); $submission = new TiiSubmission(); $submission->setSubmissionId($this->submission_objectid); $submission->setAssignmentId($partdetails->tiiassignid); if (strlen($reason) < 5) { $reason = "No specified reason: " . $reason; } $submission->setAnonymousRevealReason($reason); $submission->setAnonymousRevealUser($user->tii_user_id); $submission->setAnonymousRevealDateTime(date("c")); try { $turnitincall->updateSubmission($submission); return true; } catch (Exception $e) { $turnitincomms->handle_exceptions($e, "unanonymiseerror", false); return false; } }
echo $turnitintooltwouser->get_user_messages(); } else { echo 0; } break; case "refresh_peermark_assignments": if (!confirm_sesskey()) { throw new moodle_exception('invalidsesskey', 'error'); } $assignmentid = required_param('assignment', PARAM_INT); $turnitintooltwoassignment = new turnitintooltwo_assignment($assignmentid); $cm = get_coursemodule_from_instance("turnitintooltwo", $assignmentid); if (has_capability('mod/turnitintooltwo:read', context_module::instance($cm->id))) { $partid = required_param('part', PARAM_INT); $refreshrequested = optional_param('refresh_requested', 0, PARAM_INT); $partdetails = $turnitintooltwoassignment->get_part_details($partid); if ($refreshrequested) { $turnitintooltwoassignment->update_assignment_from_tii(array($partdetails->tiiassignid)); $partdetails = $turnitintooltwoassignment->get_part_details($partid); } $PAGE->set_context(context_module::instance($cm->id)); $turnitintooltwoview = new turnitintooltwo_view(); $peermarkdata['peermark_table'] = $turnitintooltwoview->show_peermark_assignment($partdetails->peermark_assignments); $peermarkdata['no_of_peermarks'] = count($partdetails->peermark_assignments); $peermarkdata['peermarks_active'] = false; foreach ($partdetails->peermark_assignments as $peermarkassignment) { if (time() > $peermarkassignment->dtstart) { $peermarkdata['peermarks_active'] = true; break; } }
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(); }