|
14 | 14 | // You should have received a copy of the GNU General Public License
|
15 | 15 | // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
16 | 16 |
|
17 |
| -require_once(__DIR__."/../../config.php"); |
18 |
| -require_once(__DIR__."/lib.php"); |
19 |
| -require_once($CFG->dirroot.'/mod/turnitintooltwo/turnitintooltwo_assignment.class.php'); |
20 |
| -require_once($CFG->dirroot.'/mod/turnitintooltwo/turnitintooltwo_view.class.php'); |
| 17 | +use Integrations\PhpSdk\TiiClass; |
| 18 | + |
| 19 | +require_once(__DIR__.'/../../config.php'); |
| 20 | +require_once($CFG->dirroot.'/plagiarism/turnitin/lib.php'); |
| 21 | +require_once($CFG->dirroot.'/plagiarism/turnitin/classes/turnitin_assignment.class.php'); |
| 22 | +require_once($CFG->dirroot.'/plagiarism/turnitin/classes/turnitin_user.class.php'); |
21 | 23 |
|
22 | 24 | require_login();
|
23 | 25 |
|
|
52 | 54 | case "get_dv_html":
|
53 | 55 | $submissionid = required_param('submissionid', PARAM_INT);
|
54 | 56 | $dvtype = optional_param('dvtype', 'default', PARAM_ALPHAEXT);
|
55 |
| - $user = new turnitintooltwo_user($USER->id, $userrole); |
56 |
| - $coursedata = turnitintooltwo_assignment::get_course_data($cm->course, 'PP'); |
| 57 | + $user = new turnitin_user($USER->id, $userrole); |
| 58 | + $coursedata = turnitin_assignment::get_course_data($cm->course); |
57 | 59 |
|
58 | 60 | if ($userrole == 'Instructor') {
|
59 | 61 | $user->join_user_to_class($coursedata->turnitin_cid);
|
|
64 | 66 | $syncassignment = $pluginturnitin->sync_tii_assignment($cm, $coursedata->turnitin_cid);
|
65 | 67 |
|
66 | 68 | if ($syncassignment['success']) {
|
67 |
| - $turnitintooltwoview = new turnitintooltwo_view(); |
68 |
| - $return = html_writer::tag("div", |
69 |
| - $turnitintooltwoview->output_dv_launch_form($dvtype, $submissionid, $user->tiiuserid, |
70 |
| - $userrole, ''), array('style' => 'display: none')); |
| 69 | + $return = html_writer::tag( |
| 70 | + "div", |
| 71 | + turnitin_view::output_launch_form( |
| 72 | + $dvtype, |
| 73 | + $submissionid, |
| 74 | + $user->tiiuserid, |
| 75 | + $userrole, |
| 76 | + '' |
| 77 | + ), |
| 78 | + array('style' => 'display: none') |
| 79 | + ); |
71 | 80 | }
|
72 | 81 | break;
|
73 | 82 |
|
|
129 | 138 | $tiiassignmentid = $tiiassignment['tiiassignmentid'];
|
130 | 139 | }
|
131 | 140 |
|
132 |
| - $user = new turnitintooltwo_user($USER->id, "Instructor"); |
| 141 | + $user = new turnitin_user($USER->id, "Instructor"); |
133 | 142 | $user->join_user_to_class($coursedata->turnitin_cid);
|
134 | 143 |
|
135 |
| - echo html_writer::tag("div", turnitintooltwo_view::output_lti_form_launch('peermark_manager', |
136 |
| - 'Instructor', $tiiassignmentid), |
137 |
| - array("class" => "launch_form", "style" => "display:none;")); |
| 144 | + echo html_writer::tag( |
| 145 | + 'div', |
| 146 | + turnitin_view::output_lti_form_launch('peermark_manager', 'Instructor', $tiiassignmentid), |
| 147 | + array( |
| 148 | + 'class' => 'launch_form', |
| 149 | + 'style' => 'display:none;' |
| 150 | + ) |
| 151 | + ); |
| 152 | + |
138 | 153 | echo html_writer::script("<!--
|
139 | 154 | window.document.forms[0].submit();
|
140 | 155 | //-->");
|
|
149 | 164 | if ($isstudent) {
|
150 | 165 | $tiiassignment = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cm->id, 'name' => 'turnitin_assignid'));
|
151 | 166 |
|
152 |
| - $user = new turnitintooltwo_user($USER->id, "Learner"); |
153 |
| - $coursedata = turnitintooltwo_assignment::get_course_data($cm->course, 'PP'); |
| 167 | + $user = new turnitin_user($USER->id, "Learner"); |
| 168 | + $coursedata = turnitin_assignment::get_course_data($cm->course); |
154 | 169 | $user->join_user_to_class($coursedata->turnitin_cid);
|
155 | 170 |
|
156 |
| - echo html_writer::tag("div", turnitintooltwo_view::output_lti_form_launch('rubric_view', |
157 |
| - 'Learner', $tiiassignment->value), |
158 |
| - array("class" => "launch_form", "style" => "display:none;")); |
| 171 | + echo html_writer::tag( |
| 172 | + 'div', |
| 173 | + turnitin_view::output_lti_form_launch('rubric_view', 'Learner', $tiiassignment->value), |
| 174 | + array( |
| 175 | + 'class' => 'launch_form', |
| 176 | + 'style' => 'display:none;' |
| 177 | + ) |
| 178 | + ); |
| 179 | + |
159 | 180 | echo html_writer::script("<!--
|
160 | 181 | window.document.forms[0].submit();
|
161 | 182 | //-->");
|
|
170 | 191 | if ($userrole == 'Instructor' || $isstudent) {
|
171 | 192 | $tiiassignment = $DB->get_record('plagiarism_turnitin_config', array('cm' => $cm->id, 'name' => 'turnitin_assignid'));
|
172 | 193 |
|
173 |
| - $user = new turnitintooltwo_user($USER->id, $userrole); |
174 |
| - $coursedata = turnitintooltwo_assignment::get_course_data($cm->course, 'PP'); |
| 194 | + $user = new turnitin_user($USER->id, $userrole); |
| 195 | + $coursedata = turnitin_assignment::get_course_data($cm->course); |
175 | 196 | $user->join_user_to_class($coursedata->turnitin_cid);
|
176 | 197 |
|
177 |
| - echo html_writer::tag("div", turnitintooltwo_view::output_lti_form_launch('peermark_reviews', |
178 |
| - $userrole, $tiiassignment->value), |
179 |
| - array("class" => "launch_form", "style" => "display:none;")); |
| 198 | + echo html_writer::tag( |
| 199 | + 'div', |
| 200 | + turnitin_view::output_lti_form_launch('peermark_reviews', $userrole, $tiiassignment->value), |
| 201 | + array( |
| 202 | + 'class' => 'launch_form', |
| 203 | + 'style' => 'display:none;' |
| 204 | + ) |
| 205 | + ); |
| 206 | + |
180 | 207 | echo html_writer::script("<!--
|
181 | 208 | window.document.forms[0].submit();
|
182 | 209 | //-->");
|
|
190 | 217 |
|
191 | 218 | $message = optional_param('message', '', PARAM_ALPHAEXT);
|
192 | 219 |
|
193 |
| - // Get the id from the turnitintooltwo_users table so we can update. |
194 |
| - $turnitinuser = $DB->get_record('turnitintooltwo_users', array('userid' => $USER->id)); |
| 220 | + // Get the id from the plagiarism_turnitin_users table so we can update. |
| 221 | + $turnitinuser = $DB->get_record('plagiarism_turnitin_users', array('userid' => $USER->id)); |
195 | 222 |
|
196 | 223 | // Build user object for update.
|
197 | 224 | $eulauser = new stdClass();
|
198 | 225 | $eulauser->id = $turnitinuser->id;
|
199 | 226 | $eulauser->user_agreement_accepted = 0;
|
200 | 227 | if ($message == 'turnitin_eula_accepted') {
|
201 | 228 | $eulauser->user_agreement_accepted = 1;
|
202 |
| - turnitintooltwo_activitylog("User ".$USER->id." (".$turnitinuser->turnitin_uid.") accepted the EULA.", "PP_EULA_ACCEPTANCE"); |
| 229 | + plagiarism_turnitin_activitylog("User ".$USER->id." (".$turnitinuser->turnitin_uid.") accepted the EULA.", "PP_EULA_ACCEPTANCE"); |
203 | 230 | } else if ($message == 'turnitin_eula_declined') {
|
204 | 231 | $eulauser->user_agreement_accepted = -1;
|
205 |
| - turnitintooltwo_activitylog("User ".$USER->id." (".$turnitinuser->turnitin_uid.") declined the EULA.", "PP_EULA_ACCEPTANCE"); |
| 232 | + plagiarism_turnitin_activitylog("User ".$USER->id." (".$turnitinuser->turnitin_uid.") declined the EULA.", "PP_EULA_ACCEPTANCE"); |
206 | 233 | }
|
207 | 234 |
|
208 | 235 | // Update the user using the above object.
|
209 |
| - $DB->update_record('turnitintooltwo_users', $eulauser, $bulk = false); |
| 236 | + $DB->update_record('plagiarism_turnitin_users', $eulauser, $bulk = false); |
210 | 237 | break;
|
211 | 238 |
|
212 | 239 | case "resubmit_event":
|
|
243 | 270 | }
|
244 | 271 | $return['errors'] = $errors;
|
245 | 272 | break;
|
| 273 | + |
| 274 | + case "test_connection": |
| 275 | + if (!confirm_sesskey()) { |
| 276 | + throw new moodle_exception('invalidsesskey', 'error'); |
| 277 | + } |
| 278 | + $data = array("connection_status" => "fail", "msg" => get_string('connecttestcommerror', 'plagiarism_turnitin')); |
| 279 | + |
| 280 | + $PAGE->set_context(context_system::instance()); |
| 281 | + if (is_siteadmin()) { |
| 282 | + // Initialise API connection. |
| 283 | + |
| 284 | + $accountid = required_param('accountid', PARAM_RAW); |
| 285 | + $accountshared = required_param('accountshared', PARAM_RAW); |
| 286 | + $url = required_param('url', PARAM_RAW); |
| 287 | + |
| 288 | + $turnitincomms = new turnitin_comms($accountid, $accountshared, $url); |
| 289 | + |
| 290 | + // We only want an API log entry for this if diagnostic mode is set to Debugging. |
| 291 | + if (empty($config)) { |
| 292 | + $config = plagiarism_plugin_turnitin::plagiarism_turnitin_admin_config(); |
| 293 | + } |
| 294 | + if ($config->plagiarism_turnitin_enablediagnostic != 2) { |
| 295 | + $turnitincomms->set_diagnostic(0); |
| 296 | + } |
| 297 | + |
| 298 | + $tiiapi = $turnitincomms->initialise_api(true); |
| 299 | + |
| 300 | + $class = new TiiClass(); |
| 301 | + $class->setTitle('Test finding a class to see if connection works'); |
| 302 | + |
| 303 | + try { |
| 304 | + $response = $tiiapi->findClasses($class); |
| 305 | + $data["connection_status"] = 200; |
| 306 | + $data["msg"] = get_string('connecttestsuccess', 'plagiarism_turnitin'); |
| 307 | + } catch (Exception $e) { |
| 308 | + $turnitincomms->handle_exceptions($e, 'connecttesterror', false); |
| 309 | + } |
| 310 | + } |
| 311 | + echo json_encode($data); |
| 312 | + break; |
| 313 | + |
| 314 | + case "get_users": |
| 315 | + $PAGE->set_context(context_system::instance()); |
| 316 | + if (is_siteadmin()) { |
| 317 | + echo json_encode(turnitin_user::plagiarism_turnitin_getusers()); |
| 318 | + } else { |
| 319 | + throw new moodle_exception('accessdenied', 'admin'); |
| 320 | + } |
| 321 | + break; |
| 322 | + |
| 323 | + case "refresh_rubric_select": |
| 324 | + $courseid = required_param('course', PARAM_INT); |
| 325 | + $assignmentid = required_param('assignment', PARAM_INT); |
| 326 | + $modulename = required_param('modulename', PARAM_ALPHA); |
| 327 | + |
| 328 | + $PAGE->set_context(context_course::instance($courseid)); |
| 329 | + |
| 330 | + if (has_capability('moodle/course:update', context_course::instance($courseid))) { |
| 331 | + // Set Rubric options to instructor rubrics. |
| 332 | + $instructor = new turnitin_user($USER->id, 'Instructor'); |
| 333 | + $instructor->set_user_values_from_tii(); |
| 334 | + $instructorrubrics = $instructor->get_instructor_rubrics(); |
| 335 | + |
| 336 | + $options = array('' => get_string('norubric', 'plagiarism_turnitin')) + $instructorrubrics; |
| 337 | + |
| 338 | + // Get rubrics that are shared on the Turnitin account. |
| 339 | + $turnitinclass = new turnitin_class($courseid); |
| 340 | + |
| 341 | + $turnitinclass->read_class_from_tii(); |
| 342 | + $sharedrubrics = $turnitinclass->sharedrubrics; |
| 343 | + |
| 344 | + foreach ($sharedrubrics as $group => $grouprubrics) { |
| 345 | + foreach ($grouprubrics as $rubricid => $rubricname) { |
| 346 | + $options[$group][$rubricid] = $rubricname; |
| 347 | + } |
| 348 | + } |
| 349 | + |
| 350 | + // Get assignment details. |
| 351 | + if (!empty($assignmentid)) { |
| 352 | + $cm = get_coursemodule_from_instance($modulename, $assignmentid); |
| 353 | + $plagiarismsettings = $pluginturnitin->get_settings($cm->id); |
| 354 | + } |
| 355 | + |
| 356 | + // Add in selected rubric if it belongs to another instructor. |
| 357 | + if (!empty($assignmentid)) { |
| 358 | + if (!empty($plagiarismsettings["plagiarism_rubric"])) { |
| 359 | + if (isset($options[$plagiarismsettings["plagiarism_rubric"]])) { |
| 360 | + $rubricname = $options[$plagiarismsettings["plagiarism_rubric"]]; |
| 361 | + } else { |
| 362 | + $rubricname = get_string('otherrubric', 'plagiarism_turnitin'); |
| 363 | + } |
| 364 | + $options[$plagiarismsettings["plagiarism_rubric"]] = $rubricname; |
| 365 | + } |
| 366 | + } |
| 367 | + } else { |
| 368 | + $options = array(); |
| 369 | + } |
| 370 | + |
| 371 | + echo json_encode($options); |
| 372 | + break; |
| 373 | + |
246 | 374 | }
|
247 | 375 |
|
248 | 376 | if (!empty($return)) {
|
|
0 commit comments