コード例 #1
0
     $do = "submitpaper";
 }
 // Check that student has accepted disclaimer if applicable.
 if (empty($post['submissionagreement'])) {
     $_SESSION["notice"]["message"] = get_string('copyrightagreementerror', 'turnitintooltwo');
     $error = true;
     $do = "submitpaper";
 }
 if ($error) {
     // Save data in session incase of error
     $_SESSION['form_data']->submissiontype = $post['submissiontype'];
     $_SESSION['form_data']->submissiontitle = $post['submissiontitle'];
     $_SESSION['form_data']->submissiontext = $post['submissiontext'];
 } else {
     // Check for previous submission to this part.
     if (!($prevsubmission = $turnitintooltwoassignment->get_user_submissions($post['studentsname'], $turnitintooltwoassignment->turnitintooltwo->id, $post['submissionpart']))) {
         // Create submission object if not a previous one.
         $turnitintooltwosubmission = new turnitintooltwo_submission(0, "moodle", $turnitintooltwoassignment);
         if (!$turnitintooltwosubmission->create_submission($post)) {
             $_SESSION["notice"]["message"] = get_string('createsubmissionerror', 'turnitintooltwo');
             $do = "submitpaper";
         }
     } else {
         foreach ($prevsubmission as $prev) {
             $submission = $prev;
         }
         $turnitintooltwosubmission = new turnitintooltwo_submission($submission->id, "moodle", $turnitintooltwoassignment);
         $turnitintooltwosubmission->reset_submission($post);
     }
     if ($turnitintooltwosubmission) {
         if ($post['submissiontype'] == 1) {
コード例 #2
0
ファイル: ajax.php プロジェクト: aolley/MoodleDirectV2
     }
     break;
 case "refresh_submission_row":
     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);
         $userid = required_param('user', PARAM_INT);
         $istutor = has_capability('mod/turnitintooltwo:grade', context_module::instance($cm->id)) ? true : false;
         $parts = $turnitintooltwoassignment->get_parts();
         // Get the id of the submission in the row and update it from Turnitin then get the new details.
         $submission = $turnitintooltwoassignment->get_user_submissions($userid, $assignmentid, $partid);
         $submissionid = current(array_keys($submission));
         if (!empty($submissionid)) {
             $submission = new turnitintooltwo_submission($submissionid);
             $submission->update_submission_from_tii(true);
             // Get the submission details again in case the submission has been transferred within Turnitin.
             $submission = $turnitintooltwoassignment->get_user_submissions($userid, $assignmentid, $partid);
             $submissionid = current(array_keys($submission));
         }
         $submission = new turnitintooltwo_submission($submissionid);
         if (empty($submissionid)) {
             $user = new turnitintooltwo_user($userid, 'Learner', false);
             $submission->firstname = $user->firstname;
             $submission->lastname = $user->lastname;
             $submission->userid = $user->id;
         }
コード例 #3
0
 /**
  * Return a table containing all the assignments in the relevant course
  *
  * @global type $CFG
  * @global type $OUTPUT
  * @param obj $course the moodle course data
  * @return output
  */
 public function show_assignments($course)
 {
     global $CFG, $OUTPUT, $USER;
     $turnitintooltwos = turnitintooltwo_assignment::get_all_assignments_in_course($course);
     $table = new html_table();
     $table->id = "dataTable";
     $rows = array();
     // Do the table headers.
     $cells = array();
     if ($course->format == "weeks") {
         $cells["weeks"] = new html_table_cell(get_string("week"));
     } else {
         if ($course->format == "topics") {
             $cells["topics"] = new html_table_cell(get_string("topic"));
         }
     }
     $cells["name"] = new html_table_cell(get_string("name"));
     $cells["start_date"] = new html_table_cell(get_string("dtstart", "turnitintooltwo"));
     $cells["number_of_parts"] = new html_table_cell(get_string("numberofparts", "turnitintooltwo"));
     $cells["submissions"] = new html_table_cell(get_string("submissions", "turnitintooltwo"));
     $table->head = $cells;
     $i = 1;
     foreach ($turnitintooltwos as $turnitintooltwo) {
         $cm = get_coursemodule_from_id('turnitintooltwo', $turnitintooltwo->coursemodule, $course->id);
         $turnitintooltwoassignment = new turnitintooltwo_assignment($turnitintooltwo->id, $turnitintooltwo);
         if ($course->format == "weeks" || $course->format == "topics") {
             $cells[$course->format] = new html_table_cell($turnitintooltwoassignment->turnitintooltwo->section);
             $cells[$course->format]->attributes["class"] = "centered_cell";
         }
         // Show links dimmed if the mod is hidden.
         $attributes["class"] = !$turnitintooltwo->visible ? 'dimmed' : '';
         $linkurl = $CFG->wwwroot . '/mod/turnitintooltwo/view.php?id=' . $turnitintooltwoassignment->turnitintooltwo->coursemodule . '&do=submissions';
         $cells["name"] = new html_table_cell(html_writer::link($linkurl, $turnitintooltwo->name, $attributes));
         $cells["start_date"] = new html_table_cell(userdate($turnitintooltwoassignment->get_start_date(), get_string('strftimedatetimeshort', 'langconfig')));
         $cells["start_date"]->attributes["class"] = "centered_cell";
         $cells["number_of_parts"] = new html_table_cell(count($turnitintooltwoassignment->get_parts()));
         $cells["number_of_parts"]->attributes["class"] = "centered_cell";
         if (has_capability('mod/turnitintooltwo:grade', context_module::instance($cm->id))) {
             $noofsubmissions = $turnitintooltwoassignment->count_submissions($cm, 0);
         } else {
             $noofsubmissions = count($turnitintooltwoassignment->get_user_submissions($USER->id, $turnitintooltwoassignment->turnitintooltwo->id));
         }
         $cells["submissions"] = new html_table_cell(html_writer::link($linkurl, $noofsubmissions, $attributes));
         $cells["submissions"]->attributes["class"] = "centered_cell";
         $rows[$i] = new html_table_row($cells);
         $i++;
     }
     $table->data = $rows;
     return $OUTPUT->box(html_writer::table($table), 'generalbox boxaligncenter');
 }
 /**
  * Get full submission details and work out overall grade
  *
  * @global type $DB
  * @param type $turnitintooltwoassignment
  * @param type $submission_id
  * @param type $id_type
  * @return type
  */
 private function get_submission_details($idtype = "moodle", $turnitintooltwoassignment = "")
 {
     global $DB;
     if ($idtype == "moodle") {
         $condition = array("id" => $this->id);
     } else {
         $condition = array("submission_objectid" => $this->submission_objectid);
     }
     if ($submission = $DB->get_record('turnitintooltwo_submissions', $condition, '*', IGNORE_MULTIPLE)) {
         if (empty($turnitintooltwoassignment)) {
             $turnitintooltwoassignment = new turnitintooltwo_assignment($submission->turnitintooltwoid);
             $this->turnitintooltwoid = $turnitintooltwoassignment->turnitintooltwo->id;
         }
         if (count($turnitintooltwoassignment->get_parts() > 1)) {
             if ($submission->userid != 0) {
                 $usersubmissions = $turnitintooltwoassignment->get_user_submissions($submission->userid, $submission->turnitintooltwoid);
                 $useroverallgrade = $turnitintooltwoassignment->get_overall_grade($usersubmissions);
                 if ($turnitintooltwoassignment->turnitintooltwo->grade == 0 or $useroverallgrade === '--') {
                     $this->overall_grade = '--';
                 } else {
                     if ($turnitintooltwoassignment->turnitintooltwo->grade < 0) {
                         // Scale.
                         $scale = $DB->get_record('scale', array('id' => $turnitintooltwoassignment->turnitintooltwo->grade * -1));
                         $scalearray = explode(",", $scale->scale);
                         // Array is zero indexed, Scale positions are from 1 upward.
                         $index = $useroverallgrade - 1;
                         $this->overall_grade = $scalearray[$index];
                     } else {
                         $this->overall_grade = round($useroverallgrade / $turnitintooltwoassignment->turnitintooltwo->grade * 100, 1) . '%';
                     }
                 }
             } else {
                 $this->overall_grade = '--';
             }
         }
         foreach ($submission as $field => $value) {
             $this->{$field} = $value;
         }
         if ($submission->userid > 0) {
             $user = $DB->get_record('user', array('id' => $submission->userid), 'firstname, lastname');
             $this->firstname = $user->firstname;
             $this->lastname = $user->lastname;
             $this->fullname = fullname($user);
             $this->nmoodle = 0;
         } else {
             $this->firstname = $submission->submission_nmfirstname;
             $this->lastname = $submission->submission_nmlastname;
             $tmpuser = new stdClass();
             $tmpuser->firstname = $submission->submission_nmfirstname;
             $tmpuser->lastname = $submission->submission_nmlastname;
             $this->fullname = fullname($tmpuser);
             $this->nmoodle = 1;
         }
     } else {
         if ($idtype == "moodle") {
             turnitintooltwo_print_error('submissiongeterror', 'turnitintooltwo', null, null, __FILE__, __LINE__);
         }
     }
 }