$PAGE->set_title(get_string('emarking', 'mod_emarking')); $PAGE->navbar->add(get_string('markers', 'mod_emarking')); // Verify capability for security issues. if (!has_capability('mod/emarking:assignmarkers', $context)) { $item = array('context' => $context, 'objectid' => $emarking->id); // Add to Moodle log so some auditing can be done. \mod_emarking\event\unauthorizedaccess_attempted::create($item)->trigger(); print_error(get_string('invalidaccess', 'mod_emarking')); } echo $OUTPUT->header(); // Heading and tabs if we are within a course module. echo $OUTPUT->heading($emarking->name); echo $OUTPUT->tabtree(emarking_tabs($context, $cm, $emarking), "markers"); // Get rubric instance. list($gradingmanager, $gradingmethod, $definition) = emarking_validate_rubric($context, false, false); $mformmarkers = new emarking_markers_form(null, array('context' => $context, 'criteria' => $definition->rubric_criteria, 'id' => $cm->id, 'totalpages' => $exam->totalpages, 'emarking' => $emarking, "action" => "addmarkers")); if ($mformmarkers->get_data()) { $newmarkers = process_mform($mformmarkers, "addmarkers", $emarking); } if ($action === 'deletemarkers') { $DB->delete_records('emarking_marker_criterion', array('emarking' => $emarking->id, 'criterion' => $criterion->id)); echo $OUTPUT->notification(get_string("transactionsuccessfull", "mod_emarking"), 'notifysuccess'); } else { if ($action === 'deletesinglemarker') { $DB->delete_records('emarking_marker_criterion', array('emarking' => $emarking->id, 'marker' => $markerid, 'criterion' => $criterion->id)); echo $OUTPUT->notification(get_string("transactionsuccessfull", "mod_emarking"), 'notifysuccess'); } } $nummarkerscriteria = $DB->count_records("emarking_marker_criterion", array("emarking" => $emarking->id)); $markercriteria = $DB->get_recordset_sql("\n SELECT\n id,\n description,\n GROUP_CONCAT(uid) AS markers,\n sortorder\n FROM (\n SELECT\n c.id,\n c.description,\n c.sortorder,\n u.id as uid\n FROM {gradingform_rubric_criteria} c\n LEFT JOIN {emarking_marker_criterion} mc ON (c.definitionid = :definition AND mc.emarking = :emarking AND c.id = mc.criterion)\n LEFT JOIN {user} u ON (mc.marker = u.id)\n WHERE c.definitionid = :definition2\n ORDER BY c.id ASC, u.lastname ASC) T\n GROUP BY id", array("definition" => $definition->id, "definition2" => $definition->id, "emarking" => $emarking->id)); $data = array();
// Add to Moodle log so some auditing can be done \mod_emarking\event\markers_assigned::create($item)->trigger(); print_error(get_string('invalidaccess', 'mod_emarking')); } echo $OUTPUT->header(); echo $OUTPUT->heading_with_help(get_string('emarking', 'mod_emarking'), 'annotatesubmission', 'mod_emarking'); echo $OUTPUT->tabtree(emarking_tabs($context, $cm, $emarking), "markers"); // Get rubric instance list($gradingmanager, $gradingmethod) = emarking_validate_rubric($context); // As we have a rubric we can get the controller $rubriccontroller = $gradingmanager->get_controller($gradingmethod); if (!$rubriccontroller instanceof gradingform_rubric_controller) { print_error(get_string('invalidrubric', 'mod_emarking')); } $definition = $rubriccontroller->get_definition(); $mform = new emarking_markers_form(null, array('context' => $context, 'criteria' => $definition->rubric_criteria, 'id' => $cmid, 'emarking' => $emarking)); if ($mform->get_data()) { $DB->delete_records('emarking_marker_criterion', array('emarking' => $emarking->id)); foreach ($mform->get_data() as $key => $value) { $parts = explode("-", $key); if (count($parts) != 3 || $parts[0] !== 'assign') { continue; } $criterionid = intval($parts[1]); $markerid = intval($parts[2]); $markercriterion = new stdClass(); $markercriterion->emarking = $emarking->id; $markercriterion->marker = $markerid; $markercriterion->criterion = $criterionid; $markercriterion->timecreated = time(); $markercriterion->timemodified = time();