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);
            }