$submissiontype = optional_param('submission_type', "", PARAM_ALPHAEXT); $return = array(); // Initialise plugin class. $pluginturnitin = new plagiarism_plugin_turnitin(); switch ($action) { case "get_dv_html": $submissionid = required_param('submissionid', PARAM_INT); $dvtype = optional_param('dvtype', 'default', PARAM_ALPHAEXT); $user = new turnitintooltwo_user($USER->id, $userrole); $coursedata = turnitintooltwo_assignment::get_course_data($cm->course, 'PP'); if ($userrole == 'Instructor') { $user->join_user_to_class($coursedata->turnitin_cid); } // Edit assignment in Turnitin in case any changes have been made that would affect DV. $pluginturnitin = new plagiarism_plugin_turnitin(); $syncassignment = $pluginturnitin->sync_tii_assignment($cm, $coursedata->turnitin_cid); if ($syncassignment['success']) { $turnitintooltwoview = new turnitintooltwo_view(); $return = html_writer::tag("div", $turnitintooltwoview->output_dv_launch_form($dvtype, $submissionid, $user->tii_user_id, $userrole, ''), array('style' => 'display: none')); } break; case "update_grade": if (!confirm_sesskey()) { throw new moodle_exception('invalidsesskey', 'error'); } include_once $CFG->libdir . "/gradelib.php"; $submissionid = optional_param('submission', 0, PARAM_INT); if ($userrole == 'Instructor' && $cm->modname == "assign") { $return["status"] = $pluginturnitin->update_grades_from_tii($cm); $moduleconfigvalue = new stdClass(); // If we have a turnitin timestamp stored then update it, otherwise create it.
// in the config table. Get this and save it in courses table if so. if ($turnitincid = $pluginturnitin->get_previous_course_id($cm)) { $coursedata = $pluginturnitin->migrate_previous_course($coursedata, $turnitincid); } else { $tiicoursedata = $pluginturnitin->create_tii_course($cm, $coursedata); $coursedata->turnitin_cid = $tiicoursedata->turnitin_cid; $coursedata->turnitin_ctl = $tiicoursedata->turnitin_ctl; } } // Check whether the file needs to be submitted to Turnitin. if ($pluginturnitin->check_if_submitting($cm, $USER->id, $pathnamehash, $submissiontype) && $coursedata->turnitin_cid != 0) { // Create/Edit user within Turnitin and join the user to the course/class if necessary. $user = new turnitintooltwo_user($USER->id, 'Learner'); $user->join_user_to_class($coursedata->turnitin_cid); // Create/Edit the module as an assignment in Turnitin. $assignmentid = $pluginturnitin->sync_tii_assignment($cm, $coursedata->turnitin_cid); $title = ''; if ($cm->modname == "forum") { $moduledata = $DB->get_record($cm->modname, array('id' => $cm->instance)); $title = 'forumpost_' . $user->id . "_" . $cm->id . "_" . $moduledata->id . "_" . $itemid . '.txt'; } // Submit or resubmit file to Turnitin. $return = $pluginturnitin->tii_submission($cm, $assignmentid, $user, $pathnamehash, $submissiontype, $itemid, $title, $textcontent); } else { $return = array("success" => true); } } break; case "origreport": case "grademark": $submissionid = optional_param('submission', 0, PARAM_INT);