break; case "orig_zip": case "xls_inbox": case "origchecked_zip": case "gmpdf_zip": $assignmentid = required_param('assignment', PARAM_INT); $turnitintooltwoassignment = new turnitintooltwo_assignment($assignmentid); $cm = get_coursemodule_from_instance("turnitintooltwo", $assignmentid); if (has_capability('mod/turnitintooltwo:grade', context_module::instance($cm->id))) { $partid = optional_param('part', 0, PARAM_INT); $user = new turnitintooltwo_user($USER->id, 'Instructor'); $user->edit_tii_user(); if ($action == "orig_zip") { $cm = get_coursemodule_from_instance("turnitintooltwo", $assignmentid); $partdetails = $turnitintooltwoassignment->get_part_details($partid, "turnitin"); $submissions = $turnitintooltwoassignment->get_submissions($cm, $partdetails->id); $submissionids = array(); foreach ($submissions[$partdetails->id] as $k => $v) { if (!empty($v->submission_objectid)) { $submissionids[] = $v->submission_objectid; } } } else { $submissionids = optional_param_array('submission_ids', array(), PARAM_INT); } echo turnitintooltwo_view::output_download_launch_form($action, $user->tii_user_id, $partid, $submissionids); } break; case "get_users": $PAGE->set_context(context_system::instance()); if (is_siteadmin()) {
/** * This is a standard Moodle module that prints out a summary of all activities of this kind in the My Moodle page for a user * * @param object $courses * @param object $htmlarray * @global type $USER * @global type $CFG * @global type $DB * @global type $OUTPUT * @return bool success */ function turnitintooltwo_print_overview($courses, &$htmlarray) { global $USER, $CFG, $DB, $OUTPUT; if (empty($courses) || !is_array($courses) || count($courses) == 0) { return array(); } if (!($turnitintooltwos = get_all_instances_in_courses('turnitintooltwo', $courses))) { return; } $submissioncount = array(); foreach ($turnitintooltwos as $key => $turnitintooltwo) { $turnitintooltwoassignment = new turnitintooltwo_assignment($turnitintooltwo->id, $turnitintooltwo); $parts = $turnitintooltwoassignment->get_parts(false); $cm = get_coursemodule_from_id('turnitintooltwo', $turnitintooltwo->coursemodule); $context = context_module::instance($cm->id); $partsarray = array(); $grader = has_capability('mod/turnitintooltwo:grade', $context); if ($grader) { $allusers = get_users_by_capability($context, 'mod/turnitintooltwo:submit', 'u.id', '', '', '', 0, '', false); $submissionsquery = $DB->get_records_select('turnitintooltwo_submissions', 'turnitintooltwoid = ? GROUP BY id, submission_part, submission_grade, submission_gmimaged', array($turnitintooltwo->id), '', 'id, submission_part, submission_grade, submission_gmimaged'); foreach ($submissionsquery as $submission) { if (!isset($submissioncount[$submission->submission_part])) { $submissioncount[$submission->submission_part] = array('graded' => 0, 'submitted' => 0); } if ($submission->submission_grade != 'NULL' and $submission->submission_gmimaged == 1) { $submissioncount[$submission->submission_part]['graded']++; } $submissioncount[$submission->submission_part]['submitted']++; } } foreach ($parts as $part) { if (!isset($submissioncount[$part->id])) { $submissioncount[$part->id] = array('graded' => 0, 'submitted' => 0); } $partsarray[$part->id]['name'] = $part->partname; $partsarray[$part->id]['dtdue'] = $part->dtdue; if ($grader) { // If user is a grader. $numsubmissions = $submissioncount[$part->id]['submitted']; $graded = $submissioncount[$part->id]['graded']; $input = new stdClass(); $input->submitted = $numsubmissions; $input->graded = $graded; $input->total = count($allusers); $input->gplural = $graded != 1 ? 's' : ''; $partsarray[$part->id]['status'] = get_string('tutorstatus', 'turnitintooltwo', $input); } else { // If user is a student. $submission = $turnitintooltwoassignment->get_submissions($cm, $part->id, $USER->id, 1); if (!empty($submission[$part->id][$USER->id])) { $input = new stdClass(); $input->modified = userdate($submission[$part->id][$USER->id]->submission_modified, get_string('strftimedatetimeshort', 'langconfig')); $input->objectid = $submission[$part->id][$USER->id]->submission_objectid; $partsarray[$part->id]['status'] = get_string('studentstatus', 'turnitintooltwo', $input); } else { $partsarray[$part->id]['status'] = get_string('nosubmissions', 'turnitintooltwo'); } } } $attributes["class"] = $turnitintooltwo->visible ? "" : "dimmed"; $attributes["title"] = get_string('modulename', 'turnitintooltwo'); $assignmentlink = html_writer::link($CFG->wwwroot . "/mod/turnitintooltwo/view.php?id=" . $turnitintooltwo->coursemodule, $turnitintooltwo->name, $attributes); $partsblock = ""; foreach ($partsarray as $thispart) { $partstr = $thispart['name'] . ' - ' . get_string('dtdue', 'turnitintooltwo') . ': ' . userdate($thispart['dtdue'], get_string('strftimedatetimeshort', 'langconfig'), $USER->timezone); $partsblock .= $OUTPUT->box($OUTPUT->box($partstr, 'bold') . $OUTPUT->box($thispart['status'], 'italic'), 'info'); } $str = html_writer::tag('div', html_writer::tag('div', get_string('modulename', 'turnitintooltwo') . ": " . $assignmentlink . $partsblock, array('class' => 'name')), array('class' => 'turnitintooltwo overview')); if (empty($htmlarray[$turnitintooltwo->course]['turnitintooltwo'])) { $htmlarray[$turnitintooltwo->course]['turnitintooltwo'] = $str; } else { $htmlarray[$turnitintooltwo->course]['turnitintooltwo'] .= $str; } } }