Skip to content

Commit 8fbdc5d

Browse files
committed
Fixing PHPUnit tests.
1 parent 708282d commit 8fbdc5d

13 files changed

+145
-179
lines changed

classes/turnitin_view.class.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ public function add_elements_to_settings_form($mform, $course, $location = "acti
135135
$genparams = $plagiarismturnitin->plagiarism_get_report_gen_speed_params();
136136
$genoptions = [0 => get_string('reportgen_immediate_add_immediate', 'plagiarism_turnitin'),
137137
1 => get_string('reportgen_immediate_add_duedate', 'plagiarism_turnitin'),
138-
2 => get_string('reportgen_duedate_add_duedate', 'plagiarism_turnitin'));
138+
2 => get_string('reportgen_duedate_add_duedate', 'plagiarism_turnitin'), ];
139139
$excludetypeoptions = array( 0 => get_string('no'), 1 => get_string('excludewords', 'plagiarism_turnitin'),
140140
2 => get_string('excludepercent', 'plagiarism_turnitin'), ];
141141

lib.php

+59-120
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,6 @@ public function add_settings_form_to_activity_page($mform, $context, $modulename
321321
if ($PAGE->pagetype != 'course-editbulkcompletion' &&
322322
$PAGE->pagetype != 'course-editdefaultcompletion' &&
323323
$PAGE->pagetype != 'course-defaultcompletion') {
324-
325324
// Check for existing settings and add the form
326325
$course = turnitin_assignment::get_course_data($COURSE->id, "site");
327326
$turnitinview->add_elements_to_settings_form($mform, $course, "activity", $modulename, $cmid, $plagiarismvalues["plagiarism_rubric"]);
@@ -1531,8 +1530,9 @@ private function update_submission($cm, $submissionid, $tiisubmission) {
15311530
* @param object $cm The course module.
15321531
* @param object $submission The submission object.
15331532
* @param int $userid The user id.
1533+
* @param bool $cron Whether this is a cron job.
15341534
*/
1535-
private function update_grade($cm, $submission, $userid, $cron = FALSE) {
1535+
private function update_grade($cm, $submission, $userid, $cron = false) {
15361536
global $DB, $USER, $CFG;
15371537
$return = true;
15381538

@@ -1632,7 +1632,7 @@ private function update_grade($cm, $submission, $userid, $cron = FALSE) {
16321632
$context = context_course::instance($cm->course);
16331633
if (has_capability('mod/assign:grade', $context, $USER->id)) {
16341634
// If the grade has changed and the change is not from a cron task then update the grader.
1635-
if ($currentgrade->grade != $grade->grade && $cron == FALSE) {
1635+
if ($currentgrade->grade != $grade->grade && $cron == false) {
16361636
$grade->grader = $USER->id;
16371637
}
16381638
}
@@ -1840,53 +1840,6 @@ public function refresh_peermark_assignments($cm, $tiiassignmentid) {
18401840
}
18411841
}
18421842

1843-
/**
1844-
* Check for rubric and save to assignment.
1845-
*
1846-
* @param object $cm The course module.
1847-
*/
1848-
public function update_rubric_from_tii($cm) {
1849-
global $DB;
1850-
1851-
$turnitincomms = new turnitin_comms();
1852-
$turnitincall = $turnitincomms->initialise_api();
1853-
$assignment = new TiiAssignment();
1854-
1855-
if ($tiimoduledata = $DB->get_record('plagiarism_turnitin_config',
1856-
['cm' => $cm->id, 'name' => 'turnitin_assignid'], 'value')) {
1857-
1858-
$assignment->setAssignmentId($tiimoduledata->value);
1859-
1860-
try {
1861-
// Retrieve assignment from Turnitin.
1862-
$response = $turnitincall->readAssignment($assignment);
1863-
$tiiassignment = $response->getAssignment();
1864-
1865-
// Create rubric config field with rubric value from Turnitin.
1866-
$rubricfield = new stdClass();
1867-
$rubricfield->cm = $cm->id;
1868-
$rubricfield->name = 'plagiarism_rubric';
1869-
$rubricfield->value = $tiiassignment->getRubricId();
1870-
1871-
// Check if rubric already exists for this module.
1872-
if ($configfield = $DB->get_field('plagiarism_turnitin_config', 'id',
1873-
(['cm' => $cm->id, 'name' => 'plagiarism_rubric']))) {
1874-
1875-
// Use current configfield to update rubric value.
1876-
$rubricfield->id = $configfield;
1877-
1878-
$DB->update_record('plagiarism_turnitin_config', $rubricfield);
1879-
} else {
1880-
// Otherwise create rubric entry for this module.
1881-
$rubricfield->config_hash = $rubricfield->cm."_".$rubricfield->name;
1882-
$DB->create_record('plagiarism_turnitin_config', $rubricfield);
1883-
}
1884-
} catch (Exception $e) {
1885-
$turnitincomms->handle_exceptions($e, 'tiiassignmentgeterror', false);
1886-
}
1887-
}
1888-
}
1889-
18901843
/**
18911844
* Create the module as an assignment within Turnitin if it does not exist,
18921845
* if we have a Turnitin id for the module then edit it
@@ -1984,12 +1937,12 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
19841937
$dtpost = 0;
19851938
if ($cm->modname != "forum") {
19861939
if ($gradeitem = $DB->get_record(
1987-
'grade_items',
1988-
[
1989-
'iteminstance' => $cm->instance,
1990-
'itemmodule' => $cm->modname,
1991-
'courseid' => $cm->course,
1992-
'itemnumber' => 0, ]
1940+
'grade_items',
1941+
[
1942+
'iteminstance' => $cm->instance,
1943+
'itemmodule' => $cm->modname,
1944+
'courseid' => $cm->course,
1945+
'itemnumber' => 0, ]
19931946
)) {
19941947

19951948
switch ($gradeitem->hidden) {
@@ -2058,24 +2011,6 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
20582011

20592012
$assignment->setFeedbackReleaseDate(gmdate("Y-m-d\TH:i:s\Z", $dtpost));
20602013

2061-
// Erater settings.
2062-
$assignment->setErater((isset($modulepluginsettings["plagiarism_erater"])) ?
2063-
$modulepluginsettings["plagiarism_erater"] : 0);
2064-
$assignment->setEraterSpelling((isset($modulepluginsettings["plagiarism_erater_spelling"])) ?
2065-
$modulepluginsettings["plagiarism_erater_spelling"] : 0);
2066-
$assignment->setEraterGrammar((isset($modulepluginsettings["plagiarism_erater_grammar"])) ?
2067-
$modulepluginsettings["plagiarism_erater_grammar"] : 0);
2068-
$assignment->setEraterUsage((isset($modulepluginsettings["plagiarism_erater_usage"])) ?
2069-
$modulepluginsettings["plagiarism_erater_usage"] : 0);
2070-
$assignment->setEraterMechanics((isset($modulepluginsettings["plagiarism_erater_mechanics"])) ?
2071-
$modulepluginsettings["plagiarism_erater_mechanics"] : 0);
2072-
$assignment->setEraterStyle((isset($modulepluginsettings["plagiarism_erater_style"])) ?
2073-
$modulepluginsettings["plagiarism_erater_style"] : 0);
2074-
$assignment->setEraterSpellingDictionary((isset($modulepluginsettings["plagiarism_erater_dictionary"])) ?
2075-
$modulepluginsettings["plagiarism_erater_dictionary"] : 'en_US');
2076-
$assignment->setEraterHandbook((isset($modulepluginsettings["plagiarism_erater_handbook"])) ?
2077-
$modulepluginsettings["plagiarism_erater_handbook"] : 0);
2078-
20792014
// If we have a turnitin id then edit the assignment otherwise create it.
20802015
if ($tiiassignment = $DB->get_record('plagiarism_turnitin_config',
20812016
['cm' => $cm->id, 'name' => 'turnitin_assignid'], 'value')) {
@@ -2107,6 +2042,52 @@ public function sync_tii_assignment($cm, $coursetiiid, $workflowcontext = "site"
21072042
}
21082043
}
21092044

2045+
/**
2046+
* Check for rubric and save to assignment.
2047+
*/
2048+
public function update_rubric_from_tii($cm) {
2049+
global $DB;
2050+
2051+
$turnitincomms = new turnitin_comms();
2052+
$turnitincall = $turnitincomms->initialise_api();
2053+
$assignment = new TiiAssignment();
2054+
2055+
if ($tiimoduledata = $DB->get_record('plagiarism_turnitin_config',
2056+
array('cm' => $cm->id, 'name' => 'turnitin_assignid'), 'value')) {
2057+
2058+
$assignment->setAssignmentId($tiimoduledata->value);
2059+
2060+
try {
2061+
// Retrieve assignment from Turnitin.
2062+
$response = $turnitincall->readAssignment($assignment);
2063+
$tiiassignment = $response->getAssignment();
2064+
2065+
// Create rubric config field with rubric value from Turnitin.
2066+
$rubricfield = new stdClass();
2067+
$rubricfield->cm = $cm->id;
2068+
$rubricfield->name = 'plagiarism_rubric';
2069+
$rubricfield->value = $tiiassignment->getRubricId();
2070+
2071+
// Check if rubric already exists for this module.
2072+
if ($configfield = $DB->get_field('plagiarism_turnitin_config', 'id',
2073+
(array('cm' => $cm->id, 'name' => 'plagiarism_rubric')))) {
2074+
2075+
// Use current configfield to update rubric value.
2076+
$rubricfield->id = $configfield;
2077+
2078+
$DB->update_record('plagiarism_turnitin_config', $rubricfield);
2079+
} else {
2080+
// Otherwise create rubric entry for this module.
2081+
$rubricfield->config_hash = $rubricfield->cm."_".$rubricfield->name;
2082+
$DB->create_record('plagiarism_turnitin_config', $rubricfield);
2083+
}
2084+
}
2085+
catch (Exception $e) {
2086+
$turnitincomms->handle_exceptions($e, 'tiiassignmentgeterror', false);
2087+
}
2088+
}
2089+
}
2090+
21102091
/**
21112092
* Updates the database field duedate_report_refresh for any given submission ID.
21122093
* @param int $id - the ID of the submission to update.
@@ -2129,10 +2110,9 @@ public function set_duedate_report_refresh($id, $newvalue) {
21292110
public function cron_update_scores() {
21302111
global $DB;
21312112

2132-
<<<<<<< HEAD
2133-
$submissionids = array();
2134-
$reportsexpected = array();
2135-
$assignmentids = array();
2113+
$submissionids = [];
2114+
$reportsexpected = [];
2115+
$assignmentids = [];
21362116

21372117
// Grab all plagiarism files where all the following conditions are met:
21382118
// 1. The file has been successfully sent to TII
@@ -2150,19 +2130,6 @@ public function cron_update_scores() {
21502130
AND ( orcapable = ? OR orcapable IS NULL )
21512131
ORDER BY externalid DESC',
21522132
['success', 1]
2153-
=======
2154-
$submissionids = [];
2155-
$reportsexpected = [];
2156-
$assignmentids = [];
2157-
2158-
$submissions = $DB->get_records_select(
2159-
'plagiarism_turnitin_files',
2160-
'statuscode = ?
2161-
AND ( similarityscore IS NULL OR duedate_report_refresh = 1 )
2162-
AND ( orcapable = ? OR orcapable IS NULL ) ',
2163-
['success', 1],
2164-
'externalid DESC'
2165-
>>>>>>> 796b5bd (Fix 'Short array syntax must be used to define arrays' warnings.)
21662133
);
21672134

21682135
// Cache module settings
@@ -2192,19 +2159,10 @@ public function cron_update_scores() {
21922159

21932160
if (!isset($reportsexpected[$tiisubmission->cm])) {
21942161

2195-
<<<<<<< HEAD
21962162
$reportsexpected[$tiisubmission->cm] = 1;
21972163

21982164
if (!isset($modulesettings[$tiisubmission->cm]['plagiarism_compare_institution'])) {
21992165
$modulesettings[$tiisubmission->cm]['plagiarism_compare_institution'] = 0;
2200-
=======
2201-
// Updates the db field 'duedate_report_refresh' if the due date has passed within the last twenty four hours.
2202-
$moduledata = $DB->get_record($cm->modname, ['id' => $cm->instance]);
2203-
$now = strtotime('now');
2204-
$dtdue = (!empty($moduledata->duedate)) ? $moduledata->duedate : 0;
2205-
if ($now >= $dtdue && $now < strtotime('+1 day', $dtdue)) {
2206-
$this->set_duedate_report_refresh($tiisubmission->id, 1);
2207-
>>>>>>> 796b5bd (Fix 'Short array syntax must be used to define arrays' warnings.)
22082166
}
22092167

22102168
// Don't add the submission to the request if module settings mean we will not get a report back.
@@ -2221,26 +2179,12 @@ public function cron_update_scores() {
22212179
if ($reportsexpected[$tiisubmission->cm] == 1) {
22222180
$submissionids[] = $tiisubmission->externalid;
22232181

2224-
<<<<<<< HEAD
22252182
// If submission is added to the request, add the corresponding assign id in the assignids array.
22262183
$moduleturnitinconfig = $DB->get_record('plagiarism_turnitin_config',
22272184
[ 'cm' => $tiisubmission->cm, 'name' => 'turnitin_assignid' ]);
22282185

22292186
if (!isset(array_flip($assignmentids)[$moduleturnitinconfig->value])) {
22302187
$assignmentids[] = $moduleturnitinconfig->value;
2231-
=======
2232-
// If submission is added to the request, add the corresponding assign id in the assignids array.
2233-
$moduleturnitinconfig = $DB->get_record('plagiarism_turnitin_config',
2234-
[
2235-
'cm' => $cm->id,
2236-
'name' => 'turnitin_assignid',
2237-
]
2238-
);
2239-
2240-
if (!isset(array_flip($assignmentids)[$moduleturnitinconfig->value])) {
2241-
$assignmentids[] = $moduleturnitinconfig->value;
2242-
}
2243-
>>>>>>> 796b5bd (Fix 'Short array syntax must be used to define arrays' warnings.)
22442188
}
22452189
}
22462190
}
@@ -2313,7 +2257,7 @@ public function cron_update_scores() {
23132257
// At the moment TII doesn't support double marking so we won't synchronise grades from Grade Mark
23142258
// as it would destroy the workflow.
23152259
if (!is_null($plagiarismfile->grade) && $cm->modname != "coursework") {
2316-
$this->update_grade($cm, $readsubmission, $currentsubmission->userid, TRUE);
2260+
$this->update_grade($cm, $readsubmission, $currentsubmission->userid, true);
23172261
}
23182262
}
23192263
} catch (Exception $e) {
@@ -2840,14 +2784,9 @@ public function event_handler($eventdata) {
28402784

28412785
$submissiontype = ($cm->modname == 'forum') ? 'forum_post' : 'text_content';
28422786

2843-
<<<<<<< HEAD
28442787
// The content inside the event data will not always correspond to the content we will look up later, e.g.
28452788
// because URLs have been converted to use @@PLUGINFILE@@ etc. Therefore to calculate the same hash, we need to
28462789
// do a lookup to get the file content
2847-
=======
2848-
// phpcs:disable PSR2.Methods.MethodDeclaration.Underscore,moodle.Commenting.TodoComment
2849-
// TODO: Check eventdata to see if content is included correctly. If so, this can be removed.
2850-
>>>>>>> f6223b8 (Fixes for remaining errors/warnings.)
28512790
if ($cm->modname == 'workshop') {
28522791
$moodlesubmission = $DB->get_record('workshop_submissions', ['id' => $eventdata['objectid']]);
28532792
$eventdata['other']['content'] = $moodlesubmission->content;

0 commit comments

Comments
 (0)