function compilatio_check_analysis($plagiarism_file) { global $CFG, $DB; $plagiarismsettings = (array) get_config('plagiarism'); $compilatio = new compilatioservice($plagiarismsettings['compilatio_password'], $plagiarismsettings['compilatio_api'], $CFG->proxyhost, $CFG->proxyport, $CFG->proxyuser, $CFG->proxypassword); $docstatus = $compilatio->GetDoc($plagiarism_file->externalid); if (isset($docstatus->documentStatus->status)) { if ($docstatus->documentStatus->status == "ANALYSE_COMPLETE") { $plagiarism_file->statuscode = COMPILATIO_STATUSCODE_COMPLETE; $plagiarism_file->similarityscore = round($docstatus->documentStatus->indice); // Now get report url. $plagiarism_file->reporturl = $compilatio->GetReportUrl($plagiarism_file->externalid); $emailstudents = $DB->get_field('plagiarism_compilatio_config', 'value', array('cm' => $plagiarism_file->cm, 'name' => 'compilatio_studentemail')); if (!empty($emailstudents)) { $compilatio = new plagiarism_plugin_compilatio(); $compilatio->compilatio_send_student_email($plagiarism_file); } } } $plagiarism_file->attempt = $plagiarism_file->attempt + 1; $DB->update_record('plagiarism_compilatio_files', $plagiarism_file); }
admin_externalpage_setup('plagiarismcompilatio'); $context = context_system::instance(); $fileid = optional_param('fileid', 0, PARAM_INT); $resetuser = optional_param('reset', 0, PARAM_INT); $page = optional_param('page', 0, PARAM_INT); $mform = new compilatio_defaults_form(null); // Get the defaults - cmid(0) is the default list. $plagiarismdefaults = $DB->get_records_menu('plagiarism_compilatio_config', array('cm' => 0), '', 'name, value'); if (!empty($plagiarismdefaults)) { $mform->set_data($plagiarismdefaults); } echo $OUTPUT->header(); $currenttab = 'compilatiodefaults'; require_once 'compilatio_tabs.php'; if (($data = $mform->get_data()) && confirm_sesskey()) { $plagiarismplugin = new plagiarism_plugin_compilatio(); $plagiarismelements = $plagiarismplugin->config_options(); foreach ($plagiarismelements as $element) { if (isset($data->{$element})) { $newelement = new Stdclass(); $newelement->cm = 0; $newelement->name = $element; $newelement->value = $data->{$element}; if (isset($plagiarismdefaults[$element])) { // Update. $newelement->id = $DB->get_field('plagiarism_compilatio_config', 'id', array('cm' => 0, 'name' => $element)); $DB->update_record('plagiarism_compilatio_config', $newelement); } else { // Insert. $DB->insert_record('plagiarism_compilatio_config', $newelement); }