Exemple #1
0
/**
 * 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);