/** * Synchronises the assignment part settings with the settings that Turnitin has for the assignment parts * * @global object * @param object $cm The moodle course module object for this instance * @param object $turnitintool The turnitintool object for this activity * @param boolean $forced True if we want ot force the operation otherwise determined by a session array updatedconfig * @param object $loaderbar Passed by reference can be NULL if no loader bar is used * @return boolean Returns false on failure */ function turnitintool_synch_parts($cm, $turnitintool, $forced = false, $loaderbar = NULL) { $param_type = optional_param('type', null, PARAM_CLEAN); if ((isset($_SESSION['updatedconfig'][$turnitintool->id]) and $_SESSION['updatedconfig'][$turnitintool->id] == 1 or !is_null($param_type)) and !$forced) { return false; } else { if (!($parts = turnitintool_get_records_select('turnitintool_parts', 'turnitintoolid=' . $turnitintool->id . ' AND deleted=0'))) { mtrace(get_string('partgeterror', 'turnitintool') . ' - ID: ' . $turnitintool->id . '\\n'); } $partsarray = array(); $owner = turnitintool_get_owner($turnitintool->course); $tii = new turnitintool_commclass(turnitintool_getUID($owner), $owner->firstname, $owner->lastname, $owner->email, 2, $loaderbar); $tii->startSession(); $tiitooldone = false; foreach ($parts as $part) { $post = new stdClass(); $post->cid = turnitintool_getCID($turnitintool->course); $post->ctl = turnitintool_getCTL($turnitintool->course); $post->assign = $turnitintool->name . ' - ' . $part->partname . ' (Moodle: ' . $part->tiiassignid . ')'; $post->assignid = $part->tiiassignid; $post->assignid = $part->maxmarks; $tii->queryAssignment($post, get_string('synchassignments', 'turnitintool')); $assignObj = $tii->getAssignmentObject(); if (!$tii->getRerror()) { if (!$tiitooldone) { $tiiupdate = new stdClass(); $tiiupdate->id = $turnitintool->id; $tiiupdate->anon = $assignObj->anon; $tiiupdate->reportgenspeed = $assignObj->report_gen_speed; $tiiupdate->studentreports = $assignObj->s_view_report; $tiiupdate->allowlate = $assignObj->late_accept_flag; $tiiupdate->submitpapersto = $assignObj->submit_papers_to; $tiiupdate->internetcheck = $assignObj->internet_check; $tiiupdate->journalcheck = $assignObj->journal_check; if (!($update = turnitintool_update_record('turnitintool', $tiiupdate))) { mtrace(get_string('turnitintoolupdateerror', 'turnitintool') . ' - ID: ' . $turnitintool->id . '\\n'); } $partupdate = new stdClass(); $partupdate->id = $part->id; $partupdate->maxmarks = $assignObj->maxpoints; $partupdate->dtstart = $assignObj->dtstart; $partupdate->dtdue = $assignObj->dtdue; $partupdate->dtpost = $assignObj->dtpost; if (!($update = turnitintool_update_record('turnitintool_parts', $partupdate))) { mtrace(get_string('partupdateerror', 'turnitintool') . ' - ID: ' . $part->id . '\\n'); } } } } $tii->endSession(); } }
} echo "<br />"; turnitintool_box_end(); turnitintool_footer(); } } else { $post = new stdClass(); $post->utp = '2'; $loaderbar = new turnitintool_loaderbarclass(3); $tii = new turnitintool_commclass(turnitintool_getUID($USER), $USER->firstname, $USER->lastname, $USER->email, 2, $loaderbar); $tii->startSession(); $result = $tii->createUser($post, get_string('connecttesting', 'turnitintool')); $rcode = $tii->getRcode(); $rmessage = $tii->getRmessage(); $tiiuid = $tii->getUserID(); $tii->endSession(); turnitintool_header(NULL, NULL, $_SERVER["REQUEST_URI"], get_string("modulenameplural", "turnitintool"), $SITE->fullname); turnitintool_box_start('generalbox boxwidthwide boxaligncenter', 'general'); if ($rcode >= API_ERROR_START or empty($rcode)) { if (empty($rmessage)) { $rmessage = get_string('connecttestcommerror', 'turnitintool'); } turnitintool_print_error('connecttesterror', 'turnitintool', $CFG->wwwroot . '/admin/module.php?module=turnitintool', $rmessage, __FILE__, __LINE__); } else { $data = new object(); $data->userid = $USER->id; $data->turnitin_uid = $tiiuid; $data->turnitin_utp = $tii->utp; if ($tiiuser = turnitintool_get_record('turnitintool_users', 'userid', $USER->id)) { $data->id = $tiiuser->id; turnitintool_update_record('turnitintool_users', $data);