. /** * plagiarism.php - allows the admin to configure plagiarism stuff * * @package administration * @author Dan Marsden * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(dirname(dirname(__FILE__)) . '/config.php'); require_once($CFG->libdir.'/adminlib.php'); require_once($CFG->libdir.'/plagiarismlib.php'); require_login(); admin_externalpage_setup('plagiarism'); $context = get_context_instance(CONTEXT_SYSTEM); require_capability('moodle/site:config', $context, $USER->id, true, "nopermissions"); require_once('plagiarism_form.php'); $mform = new plagiarism_setup_form(); if ($mform->is_cancelled()) { redirect(''); } echo $OUTPUT->header(); echo $OUTPUT->heading(get_string('plagiarism', 'plagiarism')); if (($data = $mform->get_data()) && confirm_sesskey()) { if (!isset($data->turnitin_use)) { $data->turnitin_use = 0; } if (!isset($data->turnitin_enablegrademark)) { $data->turnitin_enablegrademark = 0; } if (!isset($data->turnitin_senduseremail)) { $data->turnitin_senduseremail = 0; } foreach ($data as $field=>$value) { if (strpos($field, 'turnitin')===0) { if ($tiiconfigfield = $DB->get_record('config_plugins', array('name'=>$field, 'plugin'=>'plagiarism'))) { $tiiconfigfield->value = $value; if (! $DB->update_record('config_plugins', $tiiconfigfield)) { error("errorupdating"); } } else { $tiiconfigfield = new stdClass(); $tiiconfigfield->value = $value; $tiiconfigfield->plugin = 'plagiarism'; $tiiconfigfield->name = $field; if (! $DB->insert_record('config_plugins', $tiiconfigfield)) { error("errorinserting"); } } } } //now call TII settings to set up teacher account as set on this page. if ($plagiarismsettings = plagiarism_get_settings()) { //get tii settings. $tii = array(); //set globals. $tii['username'] = $plagiarismsettings['turnitin_userid']; $tii['uem'] = $plagiarismsettings['turnitin_email']; $tii['ufn'] = $plagiarismsettings['turnitin_firstname']; $tii['uln'] = $plagiarismsettings['turnitin_lastname']; $tii['uid'] = $plagiarismsettings['turnitin_userid']; $tii['utp'] = '2'; //2 = this user is an instructor $tii['cid'] = $plagiarismsettings['turnitin_courseprefix']; //course ID $tii['ctl'] = $plagiarismsettings['turnitin_courseprefix']; //Course title. -this uses Course->id and shortname to ensure uniqueness. //$tii['diagnostic'] = '1'; //debug only $tii['fcmd'] = '2'; //when set to 2 the TII API should return XML $tii['fid'] = '1'; //set command. - create user and login to Turnitin (fid=1) $tiixml = plagiarism_get_xml(turnitin_get_url($tii)); if (!empty($tiixml->rcode[0]) && $tiixml->rcode[0] == '11') { notify(get_string('savedconfigsuccess', 'plagiarism'), 'notifysuccess'); } else { //disable turnitin as this config isn't correct. $rec = $DB->get_record('config_plugins', array('name'=>'turnitin_use', 'plugin'=>'plagiarism')); $rec->value = 0; $DB->update_record('config_plugins', $rec); notify(get_string('savedconfigfailure', 'plagiarism')); } } } $plagiarismsettings = plagiarism_get_settings(); $mform->set_data($plagiarismsettings); $currenttab='plagiarism'; require_once('plagiarism_tabs.php'); echo $OUTPUT->heading(get_string('tiiheading', 'plagiarism'), 3); if ($plagiarismsettings) { //Now show link to ADMIN tii interface - NOTE: this logs in the ADMIN user, should be hidden from normal teachers. $tii['uid'] = $plagiarismsettings['turnitin_userid']; $tii['username'] = $plagiarismsettings['turnitin_userid']; $tii['uem'] = $plagiarismsettings['turnitin_email']; $tii['ufn'] = $plagiarismsettings['turnitin_firstname']; $tii['uln'] = $plagiarismsettings['turnitin_lastname']; $tii['utp'] = '2'; //2 = this user is an instructor $tii['utp'] = '3'; $tii['fcmd'] = '1'; //when set to 2 this returns XML $tii['fid'] = '12'; //set commands - Administrator login/statistics. echo '
'; echo ''.get_string("adminlogin","plagiarism").'
'; $tii['utp'] = '2'; $tii['fid'] = '1'; //set commands - Administrator login/statistics. echo ''.get_string("teacherlogin","plagiarism").''; echo '
'; } echo $OUTPUT->box_start('generalbox boxaligncenter', 'intro'); $mform->display(); echo $OUTPUT->box_end(); echo $OUTPUT->footer();